반응형
문제
DOCTOR 테이블에서 진료과가 흉부외과(CS)이거나 일반외과(GS)인 의사의 이름, 의사ID, 진료과, 고용일자를 조회하는 SQL문을 작성해주세요. 이때 결과는 고용일자를 기준으로 내림차순 정렬하고, 고용일자가 같다면 이름을 기준으로 오름차순 정렬해주세요.
구조
DR_NAME, DR_ID, LCNS_NO, HIRE_YMD, MCDP_CD, TLNO는 각각 의사이름, 의사ID, 면허번호, 고용일자, 진료과코드, 전화번호를 나타냅니다.
예시
완성된 쿼리
SELECT
DR_NAME,
DR_ID,
MCDP_CD,
TO_CHAR(HIRE_YMD, 'yyyy-mm-dd') HIRE_YMD
FROM DOCTOR
WHERE MCDP_CD IN ('CS', 'GS')
ORDER BY HIRE_YMD DESC, DR_NAME
이전 시간에는 서브쿼리를 이용해서 정렬을 해줬지만 사실 정렬할 때 적어주는 순서로도 정렬할 수가 있습니다. 먼저 적어주는 Column을 우선적으로 정렬을 시도하며 그 Column값이 같은 경우 뒤에 적어준 Column을 기준으로 정렬을 시도합니다.
문제 출처 : https://school.programmers.co.kr/learn/courses/30/lessons/132203
반응형
'코딩테스트 > Oracle DB' 카테고리의 다른 글
[프로그래머스] 가장 비싼 상품 구하기 ( 23-12-15 ) (0) | 2023.12.15 |
---|---|
[프로그래머스] 12세 이하인 여자 환자 목록 출력하기 ( 23-12-14 ) (0) | 2023.12.14 |
[프로그래머스] 인기있는 아이스크림 ( 23-12-14 ) (0) | 2023.12.14 |
[프로그래머스] 조건에 맞는 도서 리스트 출력하기 ( 23-12-13 ) (0) | 2023.12.13 |
[프로그래머스] 과일로 만든 아이스크림 고르기 ( 23-12-13 ) (0) | 2023.12.13 |