본문 바로가기
문제풀이/SQL 문제풀이

프로그래머스/SQL - FrontEnd 개발자 찾기(비트 연산자 조인)

by yj-data 2025. 10. 18.

DEVELOPERS 테이블에서 Front End 스킬을 가진 개발자의 정보를 조회하려 합니다. 조건에 맞는 개발자의 ID, 이메일, 이름, 성을 조회하는 SQL 문을 작성해 주세요.

결과는 ID를 기준으로 오름차순 정렬해 주세요.

 

WITH FRONT_END_CODE AS (
    SELECT CATEGORY, SUM(CODE) AS FRONT_CODE
    FROM SKILLCODES
    GROUP BY CATEGORY
    HAVING CATEGORY = 'Front End'
)
SELECT D.ID, D.EMAIL, D.FIRST_NAME, D.LAST_NAME
FROM DEVELOPERS D
    JOIN FRONT_END_CODE F
    ON D.SKILL_CODE & F.FRONT_CODE > 0
ORDER BY D.ID ASC;

비트 연산자 조인!

 

FRONT END SKILL CODE를 합친다음 ON에 사용하면 D.ID를 DISTINCT로 사용할일은 없다. SUM 해서 &하고 >0 하면 깔끔 ~.~ FRONT END 스킬 하나라도 가진 사람을 찾는거니 이렇게 작성함! 모두 가진 사람이면 다르게 작성해야겠지.