[SQL] 프로그래머스 SQL 고득점 Kit_SELECT (20/33)

餘園·2025년 7월 15일

SQL 고득점 Kit

목록 보기
20/109
post-thumbnail

조건에 맞는 개발자 찾기 (Level 2)

DEVELOPERS 테이블에서 Python이나 C# 스킬을 가진 개발자의 정보를 조회하려 합니다. 조건에 맞는 개발자의 ID, 이메일, 이름, 성을 조회하는 SQL 문을 작성해 주세요. 결과는 ID를 기준으로 오름차순 정렬해 주세요.

solve

SELECT DISTINCT d.ID, d.EMAIL, d.FIRST_NAME, d.LAST_NAME
    FROM DEVELOPERS d
    JOIN SKILLCODES s ON s.CODE & d.SKILL_CODE = s.CODE
    WHERE s.NAME in ('Python', 'C#')
    ORDER BY ID ASC
SELECT DISTINCT ID, EMAIL, FIRST_NAME, LAST_NAME
    FROM DEVELOPERS
    WHERE SKILL_CODE & 
    (SELECT SUM(CODE) FROM SKILLCODES WHERE NAME IN ('Python', 'C#'))
    ORDER BY ID ASC
  • & 연산은 비트 단위 AND
    • (256+1024) & skill_code로 Python, C#이 하나라도 포함된 것 추출 가능
  • DISTINCT로 중복 제거
    • 한 명의 개발자가 Python, C# 모두 가지고 있다면 중복되어 2번 나오므로
profile
What else can I do

0개의 댓글