문제
코드
WITH CODE_SUM AS (
SELECT
(SELECT SUM(CODE) FROM SKILLCODES WHERE CATEGORY = 'Front End') AS FRONT_END,
(SELECT SUM(CODE) FROM SKILLCODES WHERE NAME = 'Python') AS PYTHON,
(SELECT SUM(CODE) FROM SKILLCODES WHERE NAME = 'C#') AS CSHARP
),
CTE AS (
SELECT
CASE
WHEN SKILL_CODE & c.FRONT_END > 0 AND SKILL_CODE & c.PYTHON > 0 THEN 'A'
WHEN SKILL_CODE & c.CSHARP > 0 THEN 'B'
WHEN SKILL_CODE & c.FRONT_END > 0 THEN 'C'
END AS GRADE,
ID, EMAIL
FROM DEVELOPERS, CODE_SUM c
)
SELECT *
FROM CTE
WHERE GRADE IS NOT NULL
ORDER BY GRADE, ID;
출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/courses/30/lessons/276036
'코딩테스트연습 > SQL_프로그래머스' 카테고리의 다른 글
멸종위기의 대장균 찾기 (0) | 2025.06.30 |
---|---|
상품을 구매한 회원 비율 구하기 (0) | 2025.06.27 |
특정 기간동안 대여 가능한 자동차들의 대여비용 구하기 (1) | 2025.06.25 |
FrontEnd 개발자 찾기 (0) | 2025.06.24 |
자동차 대여 기록 별 대여 금액 구하기 (2) | 2025.06.23 |