프로그래머스 SQL kit

언어별 개발자 분류하기/ WITH절

정호나 2025. 1. 21. 00:56

https://myclass.hackers.com/room/general?service_id=3080

 

게이트 페이지 | 해커스 통합 회원

외국어인강 1위 해커스인강,해커스톡부터 공무원,경찰공무원,소방공무원,금융,임용,공인중개사,주택관리사,중국어까지 한번에 편리하게!

member.hackers.com

 

 

풀이

1. &연산자 사용해서 code합이 skill_code가 되는 값 찾기!

2. with절로 front end 값 미리 구하기

3. is not null -> having 절 

 

-- 코드를 작성해주세요
WITH FRONT AS(
    selEct sum(CODE)
    from SKILLCODES
    WHERE CATEGORY = 'Front End'
)

SELECT 
    (CASE 
        WHEN SKILL_CODE & (SELECT * FROM FRONT)
        AND SKILL_CODE & (SELECT CODE FROM SKILLCODES WHERE NAME = 'python')
        
        THEN 'A' 
        WHEN SKILL_CODE & (SELECT CODE FROM SKILLCODES WHERE NAME = 'C#') THEN 'B'
        WHEN SKILL_CODE & (SELECT * FROM FRONT) THEN 'C'
        END) AS GRADE
, ID, EMAIL
FROM DEVELOPERS
HAVING GRADE IS NOT NULL
ORDER BY GRADE, ID

https://velog.io/@puar12/프로그래머스-언어별-개발자-분류하기-feat.-MySQL-with절

 

프로그래머스 - 언어별 개발자 분류하기 (feat. MySQL - with절)

프로그래머스 - 언어별 개발자 분류하기(FEAT. MY SQL with절)

velog.io