[SQL] Programmers_JOIN. 그룹별 조건에 맞는 식당 목록 출력하기
Programmers JOIN. 그룹별 조건에 맞는 식당 목록 출력하는 문제를 파헤쳐보자 :)
Programmers JOIN. Front End 개발자 찾는 문제를 파헤쳐보자 :)
SKILLCODES 테이블NAME : 스킬의 이름CATEGORY : 스킬의 범주CODE : 스킬의 코드DEVELOPERS 테이블ID : 개발자 IDFIRST_NAME : 개발자 이름LAST_NAME : 개발자 성EMAIL : 개발자 이메일SKILL_CODE : 개발자 스킬 코드SKILLCODES 테이블의 CODESKILL_CODE가 400(=b’110010000’) 일 경우, SKILLCODE 테이블의 CODE 가 아래와 같음.DEVELOPERS 테이블에서 Front End 스킬을 가진 개발자의 정보를 조회하려 합니다.개발자의 ID, 이메일, 이름, 성을 조회하는 SQL 문을 작성해 주세요.ID를 기준으로 오름차순 정렬해 주세요.SELECT DISTINCT D.ID, D.EMAIL, D.FIRST_NAME, D.LAST_NAME FROM SKILLCODES AS S JOIN DEVELOPERS AS D ON S.CODE = S.CODE & D.SKILL_CODE WHERE S.CATEGORY = 'Front End' ORDER BY D.ID;
FROM SKILLCODES AS S JOIN DEVELOPERS AS D ON S.CODE = S.CODE & D.SKILL_CODE
SKILLCODE 테이블의 CODE와 DEVELOPERS 테이블의 SKILL_CODE를 조인한다. 비트 연산자(&)를 활용하여, 대응되는 비트를 찾는 결과를 반환한다.📌비트 연산자(&):
비트(bit) 단위로 논리 연산을 수행하는 연산자.& (AND 연산) : 대응되는 비트가 모두 1이면 1을 반환함.
SELECT DISTINCT D.ID, D.EMAIL, D.FIRST_NAME, D.LAST_NAME FROM SKILLCODES AS S JOIN DEVELOPERS AS D ON S.CODE = S.CODE & D.SKILL_CODE WHERE S.CATEGORY = 'Front End' ORDER BY D.ID;
DEVELOPERS 테이블에서 Front End 스킬을 가진 개발자의 정보를 조회하는 결과를 반환한다.