🔗 조건에 맞는 개발자 찾기
- DEVELOPERS와 SKILLCODES 테이블을 조인해 개발자의 SKILL_CODE에서 Python(256) 또는 C#(1024) 스킬이 있는지 확인한다.
- DEVELOPERS.SKILL_CODE와 SKILLCODES.CODE 간의 비트 연산을 수행하기 위해 비트 AND 연산자인 &를 사용한다.
- DEVELOPERS.SKILL_CODE가 SKILLCODES.CODE를 포함하고 있는지 확인하여 개발자가 특정 스킬을 보유하고 있으면 그 스킬의 코드가 SKILL_CODE에 포함된 비트로 표시한다.
- WHERE 절에서 'Python'이나 'C#' 스킬을 가진 개발자만 필터링한다.
- 중복되는 개발자 정보를 제거하기 위해 DISTINCT를 사용한다.
- 개발자의 ID를 기준으로 오름차순 정렬한다.
🦈 MySQL 🦈
✨ 방법1 : IN ✨
SELECT DISTINCT D.ID
, D.EMAIL
, D.FIRST_NAME
, D.LAST_NAME
FROM DEVELOPERS D
JOIN SKILLCODES C
ON C.CODE & D.SKILL_CODE = C.CODE
WHERE C.NAME IN ('Python', 'C#')
ORDER BY D.ID ASC;
🌟 방법2 : OR 🌟
SELECT DISTINCT D.ID
, D.EMAIL
, D.FIRST_NAME
, D.LAST_NAME
FROM DEVELOPERS D
JOIN SKILLCODES C
ON C.CODE & D.SKILL_CODE = C.CODE
WHERE C.NAME = 'Python' OR C.NAME = 'C#'
ORDER BY D.ID ASC;
'Algorithm > Programmers' 카테고리의 다른 글
[프로그래머스] 3월에 태어난 여성 회원 목록 출력하기 - MySQL, Oracle (0) | 2024.09.16 |
---|---|
[프로그래머스] 과일로 만든 아이스크림 고르기 - MySQL, Oracle (0) | 2024.09.16 |
[프로그래머스] 업그레이드 된 아이템 구하기 - MySQL (2) | 2024.09.13 |
[프로그래머스] 흉부외과 또는 일반외과 의사 목록 출력하기 - MySQL, Oracle (0) | 2024.09.13 |
[프로그래머스] 평균 일일 대여 요금 구하기 - MySQL, Oracle (0) | 2024.09.13 |