[SQL 문제 풀기] 조건에 맞는 개발자 찾기(276034)

lhs's avatar
Mar 01, 2025
[SQL 문제 풀기] 조건에 맞는 개발자 찾기(276034)
 

1. 문제 풀이 아이디어

  • JOIN을 사용하여 developers 테이블과 skillcodes 테이블을 연결하고, skill_code의 비트 연산을 통해 해당 개발자가 특정 기술(python 또는 c#)을 보유하고 있는지 판별하여 문제를 해결할 수 있다.

2. 나의 정답 코드

SELECT DISTINCT d.id, d.email, d.first_name, d.last_name FROM developers d JOIN skillcodes s ON d.skill_code & s.code > 0 WHERE s.name IN ('python', 'c#') ORDER BY d.id;

3. 정리

  • JOIN을 사용하여 developersskillcodes를 연결한 후, skill_codecode의 비트 연산 결과가 0보다 큰 경우를 필터링한다.
  • WHERE 절에서 s.name'python' 또는 'c#'인 경우만 조회한다.
  • DISTINCT를 사용하여 중복된 개발자 정보를 제거한다.
  • ORDER BY d.id를 적용하여 정렬된 결과를 반환한다.
Share article

LHS's Study Space