[SQL] where 절에 대하여 (lv2.조건에 맞는 개발자 찾기를 풀며)

도리·2025년 2월 11일

programmers lv2. 조건에 맞는 개발자 찾기

문제)

DEVELOPERS 테이블에서 Python이나 C# 스킬을 가진 개발자의 정보를 조회하려 합니다. 조건에 맞는 개발자의 ID, 이메일, 이름, 성을 조회하는 SQL 문을 작성해 주세요.

코드)

select id, email, first_name, last_name
from developers 
where skill_code & (select code from skillcodes where name = "Python")
or   skill_code & (select code from skillcodes where name = "C#")
order by id

오피니언

언뜻보면 쉬워보이지만 헷갈렸던 부분이 있었다..
-> 내가 생각했던 코드는 아래와 같다.

그동안 where 절의 코드는 where id = '24' 등 값을 지정하는 형식을 많이 써서 이런식으로 skill_code in (조건) 이 들어가야 한다고 생각했다.

그러나 where절 자체는 T/F에 따라 T가 되는 행을 반환하게 해주는 조건절인 것을 감안하면
skill_code in (skill_code&(조건))을 하지 않아도 된다.

skill_code&(조건) 절 자체가 T/F를 반환하기 때문이다.!!

profile
인공지능응용학과 졸업

0개의 댓글