흉부외과 또는 일반외과 의사 목록 출력하기

다음은 종합병원에 속한 의사 정보를 담은DOCTOR 테이블입니다. DOCTOR 테이블은 다음과 같으며 DR_NAME, DR_ID, LCNS_NO, HIRE_YMD, MCDP_CD, TLNO는 각각 의사이름, 의사ID, 면허번호, 고용일자, 진료과코드, 전화번호를 나타냅니다.

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

흉부외과 또는 일반외과 의사 목록 출력하기Lv.1

131697

https://school.programmers.co.kr/learn/courses/30/lessons/131697

해설

DOCTOR" 테이블에서 의사의 이름, 식별자, 의료전문분야 코드, 그리고 입사 날짜를 'YYYY-MM-DD' 형식으로 변환하여 'CS' 또는 'GS' 전공 분야를 가진 의사를 최신 입사 날짜 순으로 조회하는 역할을 합니다.

  • Name
    SELECT 절
    Type
    Description
    • DR_NAME: 의사의 이름을 나타내는 열을 선택합니다.
    • DR_ID: 의사의 식별자를 나타내는 열을 선택합니다.
    • MCDP_CD: 의사의 의료전문분야 코드를 나타내는 열을 선택합니다.
    • DATE_FORMAT(HIRE_YMD, '%Y-%m-%d') AS HIRE_YMD: HIRE_YMD 열의 날짜 데이터를 'YYYY-MM-DD' 형식으로 변환한 후 HIRE_YMD 별칭으로 선택합니다.
  • Name
    FROM 절
    Type
    Description

    데이터를 조회할 대상 테이블은 "DOCTOR" 테이블입니다.

  • Name
    WHERE 절
    Type
    Description

    MCDP_CD 열의 값이 'CS' 또는 'GS'와 일치하는 행을 선택합니다. IN ('CS', 'GS') 구문은 'CS' 또는 'GS'와 일치하는 값이 있는 행을 필터링합니다.

  • Name
    ORDER BY 절
    Type
    Description

    HIRE_YMD 열을 기준으로 내림차순(DESC)으로 정렬합니다. 이렇게 하면 'HIRE_YMD' 값을 기준으로 최신의 날짜가 먼저 나타납니다.

흉부외과 또는 일반외과 의사 목록 출력하기

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;