https://school.programmers.co.kr/learn/courses/30/lessons/276036
언어별 개발자 분류하기 LEVEL 4
DEVELOPERS 테이블에서 GRADE별 개발자의 정보를 조회하려 합니다. GRADE는 다음과 같이 정해집니다.
- A : Front End 스킬과 Python 스킬을 함께 가지고 있는 개발자
- B : C# 스킬을 가진 개발자
- C : 그 외의 Front End 개발자
GRADE가 존재하는 개발자의 GRADE, ID, EMAIL을 조회하는 SQL 문을 작성해 주세요.
결과는 GRADE와 ID를 기준으로 오름차순 정렬해주세요.
문제 풀이 SQL CODE
1. Bit 연산 : 비트 연산은 숫자를 2진수로 표현해 각 비트 단위로 AND, OR, XOR 등 연산 수행
- AND 연산 (&) : 두 비트가 모두 1일 때 1 반환 > ex. 16&400이면 10000(=16)&110010000(=256)에서 10000 출력
- OR 연산 (|) : 두 비트 중 하나라도 1이면 1을 반환 > ex. 32|400 이면 100000(=32)|110010000(=256)에서 110110000 출력
- XOR 연산 (^) : 두 비트가 다르면 1, 같으면 0 반환 > ex. 16^400 이면 10000(=16)^110010000(=256) 에서 110000000(=384) 출력
WITH main AS (
SELECT
d.ID,
d.EMAIL,
group_concat(s.NAME) AS NAME,
group_concat(s.CATEGORY) AS CATEGORY
FROM DEVELOPERS d
JOIN SKILLCODES s ON d.SKILL_CODE & s.CODE = s.CODE
GROUP BY d.ID, d.EMAIL
)
SELECT *
FROM (SELECT
CASE
WHEN NAME LIKE '%Python%' AND CATEGORY LIKE '%Front End%' THEN 'A'
WHEN NAME LIKE '%C#%' THEN 'B'
WHEN CATEGORY LIKE '%Front End%' THEN 'C'
END AS GRADE,
ID,
EMAIL
FROM main) A
WHERE GRADE IS NOT NULL
ORDER BY GRADE, ID
다른 LEVEL 4 문제 보러가기
2024.12.18 - [Programmers(SQL 고득점 Kit)/LEVEL 4] - [MySQL] 프로그래머스 - 년, 월, 성별 별 상품 구매 회원 수 구하기 LEVEL 4
2024.12.11 - [Programmers(SQL 고득점 Kit)/LEVEL 4] - [MySQL] 프로그래머스 - 식품분류별 가장 비싼 식품의 정보 조회하기 LEVEL 4
2024.12.11 - [Programmers(SQL 고득점 Kit)/LEVEL 4] - [MySQL] 프로그래머스 - 저자 별 카테고리 별 매출액 집계하기 LEVEL 4
2024.12.10 - [Programmers(SQL 고득점 Kit)/LEVEL 4] - [MySQL] 프로그래머스 - 특정 세대의 대장균 찾기 LEVEL 4
2024.12.06 - [Programmers(SQL 고득점 Kit)/LEVEL 4] - [MySQL] 프로그래머스 - 오프라인/온라인 판매 데이터 통합하기 LEVEL 4
2024.12.05 - [Programmers(SQL 고득점 Kit)/LEVEL 4] - [MySQL] 프로그래머스 - 서울에 위치한 식당 목록 출력하기 LEVEL 4
2024.12.18 - [Programmers(SQL 고득점 Kit)/LEVEL 4] - [MySQL] 프로그래머스 - 입양 시각 구하기(2) LEVEL 4
'Programmers(SQL 고득점 Kit) > LEVEL 4' 카테고리의 다른 글
[MySQL] 프로그래머스 - 특정 기간동안 대여 가능한 자동차들의 대여비용 구하기 LEVEL 4 (0) | 2025.01.08 |
---|---|
[MySQL] 프로그래머스 - 연간 평가점수에 해당하는 평가 등급 및 성과금 조회하기 LEVEL 4 (3) | 2024.12.20 |
[MySQL] 프로그래머스 - 입양 시각 구하기(2) LEVEL 4 (0) | 2024.12.18 |
[MySQL] 프로그래머스 - 년, 월, 성별 별 상품 구매 회원 수 구하기 LEVEL 4 (0) | 2024.12.18 |
[MySQL] 프로그래머스 - 식품분류별 가장 비싼 식품의 정보 조회하기 LEVEL 4 (0) | 2024.12.11 |