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

yannie·2024년 8월 28일
0

[문제]

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 = 'CS' OR MCDP_CD = 'GS'
ORDER BY 4 DESC, 1
;

[풀이]

  1. 진료과가 흉부외과(CS)이거나 일반외과(GS)인 의사의 이름

    • WHERE절에 OR연산자를 사용하여 CS OR GS인 의사로 필터링
  2. 고용일자를 기준으로 내림차순 정렬하고

    • ORDER BY절을 사용하여 SELECT문의 4번째 있는 HIRE_YMD를 내림차순(DESC)로 정렬 후
  3. 고용일자가 같다면 이름을 기준으로 오름차순 정렬

    • 고용일자가 같을 때 SELECT문의 1번째에 있는 NAME을 기준으로 오름차순
  4. DATE_FORMAT함수를 사용하여 HIRE_YMD를 '%Y-%m-%d'형식으로 변환함

0개의 댓글