프로그래머스 - Python 개발자 찾기

윤민선·2026년 6월 12일

프로그래머스

목록 보기
18/65

문제 설명

DEVELOPER_INFOS 테이블에서 Python 스킬을 보유한 개발자의 ID, 이메일, 이름, 성을 ID 오름차순으로 조회하는 문제이다.

테이블주요 컬럼
DEVELOPER_INFOSID, EMAIL, FIRST_NAME, LAST_NAME, SKILL_1, SKILL_2, SKILL_3

개발자가 보유한 스킬은 SKILL_1, SKILL_2, SKILL_3 세 개의 컬럼에 나눠서 저장되어 있다.


접근 방법

SELECT ID, EMAIL, FIRST_NAME, LAST_NAME
FROM DEVELOPER_INFOS
WHERE SKILL_1 = 'Python' OR SKILL_2 = 'Python' OR SKILL_3 = 'Python'
ORDER BY ID

개발자의 스킬은 SKILL_1, SKILL_2, SKILL_3 세 개의 컬럼에 나눠서 저장되어 있기 때문에, 이 세 컬럼 중 어디든 하나라도 'Python'이면 조건을 만족한다. -> OR 로 연결한다.

이를 표현하는 방법은 두 가지가 있다.

-- 방법 1: OR로 연결
WHERE SKILL_1 = 'Python' OR SKILL_2 = 'Python' OR SKILL_3 = 'Python'

-- 방법 2: IN으로 간결하게
WHERE 'Python' IN (SKILL_1, SKILL_2, SKILL_3)

WHEREGROUP BY의 차이

구분역할적용 시점
WHERE조건에 맞는 행(row)을 필터링그룹화 이전
GROUP BY같은 값을 가진 행들을 그룹으로 묶기행 필터링 이후

구체적으로 정리한 풀이 흐름:

  1. WHERE 'Python' IN (SKILL_1, SKILL_2, SKILL_3)으로 Python 보유 여부 필터
  2. ORDER BY ID 오름차순 정렬

최종 코드

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

0개의 댓글