Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 트래블테크
- SQL
- IELTS
- order by
- 금융IT
- count
- 투자자산운용사
- 도서추천
- 서브쿼리
- IS NOT NULL
- Round
- MAX
- 날짜 포맷
- LIMIT
- SubQuery
- MySQL
- is null
- 금융 플랫폼
- where
- Python
- join
- 해외결제
- date_format
- having
- programmers
- GROUP BY
- ifnull
- alias
- IN
- inner join
Archives
- Today
- Total
Every Step Matters
[프로그래머스 SQL Lv.1] Python 개발자 찾기 (MySQL) 본문
문제링크 : https://school.programmers.co.kr/learn/courses/30/lessons/276013
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
1. 테이블 : DEVELOPER_INFOS
| NAME | TYPE | UNIQUE | NULLABLE |
| ID | VARCHAR(N) | Y | N |
| FIRST_NAME | VARCHAR(N) | N | Y |
| LAST_NAME | VARCHAR(N) | N | Y |
| VARCHAR(N) | Y | N | |
| SKILL_1 | VARCHAR(N) | N | Y |
| SKILL_2 | VARCHAR(N) | N | Y |
| SKILL_3 | VARCHAR(N) | N | Y |
2. 문제
DEVELOPER_INFOS 테이블에서 Python 스킬을 가진 개발자의 정보를 조회하려 합니다. (1) Python 스킬을 가진 (2) 개발자의 ID, 이메일, 이름, 성을 조회하는 SQL 문을 작성해 주세요. (3) 결과는 ID를 기준으로 오름차순 정렬해 주세요.
3. 문제풀이
python 스킬을 가진 개발자를 조회하기 위해 처음에는 아래처럼 WHERE절을 썼었다.
WHERE skill_1 = "python" OR skill_2 = "python" OR skill_3 = "python"
그런데 IN도 혹시 쓸 수 없을까? 해서 찾아보니 사용이 가능했다.
처음에 헷갈렸던 이유는 보통 IN은 "열 in (값1, 값2)"처럼 쓰는데, 이 문제에서는 반대로 "값 in (열1, 열2)"같은 방식으로 써야했기 때문이다.
찾아보니 둘 다 가능하다고 한다.
(1) 열 in (값1, 값2, ...) : 여러 개의 값 목록 중에서 하나의 값이라도 만족하면 조건에 해당하는 결과를 출력
(2) 값 in (열1, 열2, ...) : 여러 개의 열 목록 중 해당 값을 가지고 있는 열을 결과에 포함
따라서 앞에서 작성한 WHERE절을 아래와 같이 바꿀 수 있다.
WHERE "python" in (skill_1, skill_2, skill_3)
4. 정답
따라서 정답은
SELECT id, email, first_name, last_name -- id, 이메일, 이름, 성 조회
FROM developer_infos
WHERE "python" in (skill_1, skill_2, skill_3) -- python 스킬 가진 개발자
ORDER BY id -- id 기준 오름차순(오름차순은 asc 생략 가능)
또는
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
Reference
https://dalcheonroadhead.tistory.com/
'Database > SQL' 카테고리의 다른 글
| [프로그래머스 SQL Lv.1] 12세 이하인 여자 환자 목록 출력하기 (MySQL) (0) | 2025.11.25 |
|---|---|
| [프로그래머스 SQL Lv.1] 조건에 맞는 도서 리스트 출력하기 (MySQL), DATE_FORMAT 함수 이용해서 날짜 조회 형식 맞추기 (0) | 2025.11.25 |
| [프로그래머스 SQL Lv.1] 모든 레코드 조회하기 (MySQL) (0) | 2025.11.25 |
| [프로그래머스 SQL Lv.1] 인기있는 아이스크림 (MySQL) (0) | 2025.11.24 |
| [프로그래머스 SQL Lv.1] 조건에 맞는 회원수 구하기 (MySQL) (0) | 2025.11.24 |