알고리즘/SQL
[프로그래머스] 흉부외과 또는 일반외과 의사 목록 출력하기
Noaahhh
2024. 9. 13. 18:00
Question
DOCTOR 테이블에서 진료과가 흉부외과(CS)이거나 일반외과(GS)인 의사의 이름, 의사ID, 진료과, 고용일자를 조회하는 SQL문을 작성해주세요. 이때 결과는 고용일자를 기준으로 내림차순 정렬하고, 고용일자가 같다면 이름을 기준으로 오름차순 정렬해주세요.
Pseudocode
- 테이블에서 MCDP_CD가 'CS' 또는 'GS'인 행을 필터링.
- DR_NAME, DR_ID, MCDP_CD, 그리고 HIRE_YMD를 'YYYY-MM-DD' 형식으로 변환하여 선택.
- HIRE_YMD를 기준으로 내림차순 정렬.
- 동일한 HIRE_YMD 내에서 DR_NAME을 기준으로 오름차순 정렬.
Code
SELECT DR_NAME, DR_ID, MCDP_CD, DATE_FORMAT(HIRE_YMD, '%Y-%m-%d') as HIRE_YMD
FROM doctor
WHERE MCDP_CD = 'CS' OR MCDP_CD = 'GS'
ORDER BY HIRE_YMD DESC, DR_NAME