SQL 연습 - Python 개발자 찾기

지식저장공간·2024년 12월 12일

SQL

목록 보기
15/18

SQL 연습

문제

프로그래머스

정답

SELECT ID, EMAIL, FIRST_NAME, LAST_NAME
FROM DEVELOPER_INFOS
WHERE 'Python' IN (SKILL_1, SKILL_2, SKILL_3) 
ORDER BY ID ASC;

풀이

SKILL_1, SKILL_2, SKILL_3 컬럼의 중 하나의 컬럼이 Python이면 조회하는 문제이다.
WHERE 절에 or를 사용해 풀어도 되지만, IN 키워드를 사용하여 가독성 좋게 작성

그러나, SKILL_1, SKILL_2, SKILL_3에 인덱스가 걸려있다면? or를 이용하여 조회하는것이 좋을거 같다. 위 쿼리는 결국 3개의 컬럼을 풀스캔 해야하지만, or를 사용하면 인덱스를 3번 스캔하여 조회할 수 있다.

profile
발전하는 개발자가 꿈입니다. 지식을 쌓고 지식을 활용해 목표 달성을 추구합니다.

0개의 댓글