노아

[프로그래머스] 흉부외과 또는 일반외과 의사 목록 출력하기 본문

알고리즘/SQL

[프로그래머스] 흉부외과 또는 일반외과 의사 목록 출력하기

Noaahhh 2024. 9. 13. 18:00
Question

 

DOCTOR 테이블에서 진료과가 흉부외과(CS)이거나 일반외과(GS)인 의사의 이름, 의사ID, 진료과, 고용일자를 조회하는 SQL문을 작성해주세요. 이때 결과는 고용일자를 기준으로 내림차순 정렬하고, 고용일자가 같다면 이름을 기준으로 오름차순 정렬해주세요.

 

 

Pseudocode

 

  1. 테이블에서 MCDP_CD가 'CS' 또는 'GS'인 행을 필터링.
  2. DR_NAME, DR_ID, MCDP_CD, 그리고 HIRE_YMD를 'YYYY-MM-DD' 형식으로 변환하여 선택.
  3. HIRE_YMD를 기준으로 내림차순 정렬.
  4. 동일한 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