문제 링크
난이도 : Lv. 1
문제 내용
문제 설명
다음은 종합병원에 속한 의사 정보를 담은DOCTOR
테이블입니다. DOCTOR
테이블은 다음과 같으며 DR_NAME
, DR_ID
, LCNS_NO
, HIRE_YMD
, MCDP_CD
, TLNO
는 각각 의사이름, 의사ID, 면허번호, 고용일자, 진료과코드, 전화번호를 나타냅니다.
Column name | Type | Nullable |
---|---|---|
DR_NAME | VARCHAR(20) | FALSE |
DR_ID | VARCHAR(10) | FALSE |
LCNS_NO | VARCHAR(30) | FALSE |
HIRE_YMD | DATE | FALSE |
MCDP_CD | VARCHAR(6) | TRUE |
TLNO | VARCHAR(50) | TRUE |
문제
DOCTOR
테이블에서 진료과가 흉부외과(CS)이거나 일반외과(GS)인 의사의 이름, 의사ID, 진료과, 고용일자를 조회하는 SQL문을 작성해주세요. 이때 결과는 고용일자를 기준으로 내림차순 정렬하고, 고용일자가 같다면 이름을 기준으로 오름차순 정렬해주세요.
문제 분석
CS 또는 GS
고용일자 내림차순 먼저, 이름기준 오름차순 나중에
작성한 코드
select dr_name, dr_id, mcdp_cd, to_char(hire_ymd, 'YYYY-MM-DD') as hire_ymd
from doctor
where regexp_like(mcdp_cd, '^(CS|GS)')
order by hire_yme desc, dr_id asc;
그냥 hire_ymd 했을 때 안됨… 왜인진 모르겠음 분명 주어진 타입은 date라며.. 그럼 똑같은 형식으로 내야되는거 아냐..?