[문제]
DOCTOR 테이블에서 진료과가 흉부외과(CS)이거나 일반외과(GS)인 의사의 이름, 의사ID, 진료과, 고용일자를 조회하는 SQL문을 작성해주세요. 이때 결과는 고용일자를 기준으로 내림차순 정렬하고, 고용일자가 같다면 이름을 기준으로 오름차순 정렬해주세요.
[단계별 풀이]
1. 테이블에서 진료과과 CS이거나 GS인 행을 필터링한다
2. 의사의 이름, 의사ID, 진료과, 고용일자를 선택한다
3. 고용일자의 날짜 포맷이 다르다면 맞춰준다
4. 고용일자를 기준으로 내림차순 정렬하고, 이름 기준으로 오름차순 정렬한다
[정답]
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, DR_NAME
'코딩 테스트 > SQL' 카테고리의 다른 글
이름이 없는 동물의 아이디 (0) | 2024.12.10 |
---|---|
가격이 제일 비싼 식품의 정보 출력하기 (0) | 2024.12.10 |
DATETIME에서 DATE로 형 변환 (0) | 2024.12.10 |
경기도에 위치한 식품창고 목록 출력하기 (0) | 2024.12.10 |
NULL 처리하기 (1) | 2024.12.09 |