| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- EDA
- Python
- 머신러닝
- 연산자
- SQL
- 파이썬
- 코테
- 프로그래머스
- mysql
- 캐글
- 아마존
- 불리언
- 데이터과학
- data science
- machinelearning
- 시각화
- 전처리
- 코딩테스트
- 데이터전처리
- 데이터분석
- kaggle
- 데이터 전처리
- code
- 데이터사이언스
- pandas
- dataframe
- Data Analysis
- 데이터구조
- numpy
- get_dummies
- Today
- Total
Road to Data Scientist
[프로그래머스] 흉부외과 또는 일반외과 의사 목록 출력하기 Lv.1 본문
흉부외과 또는 일반외과 의사 목록 출력하기
DOCTOR 테이블

- DR_NAME: 의사 이름
- DR_ID: 의사 아이디
- LCNS_NO: 면허번호
- HIRE_YMD: 고용일자
- MCDP_CD: 진료과 코드
-TLNO: 전화번호
문제
DOCTOR 테이블에서 진료과가 흉부외과(CS)이거나 일반외과(GS)인 의사의 이름, 의사ID, 진료과, 고용일자를 조회하는 SQL문을 작성해주세요. 이때 결과는 고용일자를 기준으로 내림차순 정렬하고, 고용일자가 같다면 이름을 기준으로 오름차순 정렬해주세요.
정답 예시

코드
SELECT DR_NAME, DR_ID, MCDP_CD, DATE_FORMAT(HIRE_YMD, '%Y-%m-%d')AS HIRE_YMD
FROM DOCTOR
WHERE MCDP_CD IN ("CS", "GS")
ORDER BY HIRE_YMD DESC, DR_NAME ASC;
설명
1. DOCTOR 테이블에서 DR_NAME, DR_ID, MCDP_CD, HIRE_YMD 를 추출하는데
2. 고용일자를 DATE_FORMAT(HIRE_YMD, '%Y-%m-%d')으로 맞춰주고 이를 AS HIRE_YMD로 컬럼명을 설정한다.
3. 그 중 진료과 코드가 흉부외과(CS)이거나 일반외과(GS)인 데이터를 추출하기 위해 WHRE MCDP_CD IN ("CS","GS) 를 적고
4. 추출된 모든 데이터를 ORDER BVY HIRE_YMD DESC 로 고용일자 기준으로 내림차순으로 먼저 정렬한 뒤
5. 고용일자가 같은 경우 DR_NAME ASC 로 정렬한다.
+DATE_FORMAT(칼럼명, '%Y-%m-%d')
- 특정 칼럼의 날짜 형식을 YYYY-MM-DD 형식으로 맞추기 위함
+ WHRE 칼럼명 IN ("값1", "값2")
- 해당 칼럼의 값이 값1 이거나 값2 인 경우를 추출
- 동일한 문장: WHRE 칼럼명 == "값1" OR 칼럼명 == "값2"
출처
https://school.programmers.co.kr/learn/courses/30/lessons/132203
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
'코딩 테스트 > SQL' 카테고리의 다른 글
| [프로그래머스] 조건에 맞는 회원수 구하기 Lv.1 (0) | 2024.05.28 |
|---|---|
| [프로그래머스] 이름이 없는 동물의 아이디 Lv.1 (0) | 2024.05.28 |
| [프로그래머스] 가장 비싼 상품 구하기 Lv.1 (0) | 2024.05.28 |
| [프로그래머스] 나이 정보가 없는 회원 수 구하기 Lv.1 (0) | 2024.05.28 |
| [프로그래머스] 경기도에 위치한 식품창고 목록 출력하기 Lv.1 (0) | 2024.05.28 |