개발/SQL

프로그래머스SQL_조건에 맞는 개발자 찾기

송디 2024. 4. 27. 16:24

출처 : 프로그래머스

 

■ 사용 문법 

비트 연산, 서브 쿼리

 

■ 사용 방법

서브쿼리를 통하여 Python과 C#의 코드를 구해주고, 해당 값을 비트 연산으로 만들어주었다. 

즉, Python 이 10000000 이고 C#이 10000000000 OR 연산을 하면 10010000000이다. 

이 값으로 SKILL_CODE에 AND 연산을 해주면 0이외의 값을 가지는 것이 둘 중 한가지 값을 포함한다고 보면된다. 

 

■ 코드

SELECT ID, EMAIL, FIRST_NAME, LAST_NAME
FROM DEVELOPERS
WHERE (SKILL_CODE & (
    SELECT BIT_OR(CODE) 
    FROM SKILLCODES 
    WHERE NAME IN ('Python', 'C#')
)) != 0
ORDER BY ID;
728x90