SELECT ID, EMAIL, FIRSTNAME, LASTNAME
FROM DEVELOPERS
WHERE SKILL_CODE &
(
SELECT SUM(CODE)
FROM SKILLCODES
WHERE CATEGORY = 'Front End'
) -- CATEGORY가 'Front End'인 모든 코드의 합을 비트 AND 연산을 수행하여 비교
ORDER BY ID
'&' 비트연산자
비트 AND 연산은 두 숫자의 각 비트를 비교하여 둘 다 1인 경우에만 1을 반환하는 연산
1. SKILLCODES 테이블에서 CATEGORY가 'Front End'인 모든 코드의 합을 계산
2. DEVELOPERS 테이블의 SKILL_CODE와 위에서 구한 합과 비트 AND 연산을 수행하여 결과가 0이 아닌 행들을 선택
3. 선택된 행들을 ID 순서대로 정렬
'SQL' 카테고리의 다른 글
SQL : GROUP_CONCAT (2) | 2024.10.02 |
---|---|
SQL : 3장 5강 (0) | 2024.08.10 |
프로그래머스 : 그룹별 조건에 맞는 식당 목록 출력하기 (0) | 2024.07.07 |
LeetCode 602. Friend Requests II: Who Has the Most Friends (0) | 2024.05.24 |
ORACLE WHERE 절 NULL 값 조회 (0) | 2024.05.16 |