[Programmers] 흉부외과 또는 일반외과 의사 목록 출력하기 (Oracle)

zerokick·2023년 3월 26일
0

Coding Test

목록 보기
15/120
post-thumbnail

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


문제 설명

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

Column nameTypeNullable
DR_NAMEVARCHAR(20)FALSE
DR_IDVARCHAR(10)FALSE
LCNS_NOVARCHAR(30)FALSE
HIRE_YMDDATEFALSE
MCDP_CDVARCHAR(6)TRUE
TLNOVARCHAR(50)TRUE

문제

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

예시

DOCTOR 테이블이 다음과 같을 때

DR_NAMEDR_IDLCNS_NOHIRE_YMDMCDP_CDTLNO
루피DR20090029LC000100012009-03-01CS01085482011
패티DR20090001LC000109012009-07-01CS01085220122
뽀로로DR20170123LC000912012017-03-01GS01034969210
티거DR20100011LC000112012010-03-01NP01034229818
품바DR20090231LC000113022015-11-01OS01049840278
티몬DR20090112LC000111622010-03-01FM01094622190
니모DR20200012LC009111622020-03-01CS01089483921
오로라DR20100031LC000103272010-11-01OS01098428957
자스민DR20100032LC000101922010-03-01GS01023981922
DR20100039LC000105622010-07-01GS01058390758

SQL을 실행하면 다음과 같이 출력되어야 합니다.

DR_NAMEDR_IDMCDP_CDHIRE_YMD
니모DR20200012CS2020-03-01
뽀로로DR20170123GS2017-03-01
DR20100039GS2010-07-01
자스민DR20100032GS2010-03-01
패티DR20090001CS2009-07-01
루피DR20090029CS2009-03-01

주의사항
날짜 포맷은 예시와 동일하게 나와야합니다.

Solution

-- 코드를 입력하세요
SELECT D.DR_NAME, D.DR_ID, D.MCDP_CD, TO_CHAR(D.HIRE_YMD, 'YYYY-MM-DD') AS HIRE_YMD
  FROM DOCTOR D
 WHERE D.MCDP_CD IN ('CS', 'GS')
 ORDER BY D.HIRE_YMD DESC, D.DR_NAME ASC;

Feedback

profile
Opportunities are never lost. The other fellow takes those you miss.

0개의 댓글