프로그래머스 - 조건에 맞는 개발자 찾기 (MySQL)

조민수·2024년 5월 9일
0

Programmers

목록 보기
54/85

Lv2, SQL - BINARY


문제

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

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


풀이

  • SKILL_CODE가 값의 합으로 구성되어 있어 어떻게 해야되지 라는 생각이었는데,
    2의 배수로 구성되어있어 BIT 연산으로 해결할 수 있었다.
SELECT ID, EMAIL, FIRST_NAME, LAST_NAME FROM DEVELOPERS
WHERE EXISTS (
    SELECT 1
    FROM SKILLCODES S
    WHERE (DEVELOPERS.SKILL_CODE & S.CODE) != 0 
    AND (S.NAME = 'Python' OR S.NAME = 'C#')
)
ORDER BY ID
profile
사람을 좋아하는 Front-End 개발자

0개의 댓글