Algorithm/SQL

[SQL] SELECT > 흉부외과 또는 일반외과 의사 목록 출력하기

메린지 2023. 3. 31. 13:08

문제

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


[풀이]

이제 date 형식 다루기 장인이당 ㅎㅎㅎㅎㅎ 

잊지말자

MySQL은 DATE_FORMAT(데이터, 형식)

Oracle은 TO_CHAR(데이터, 형식)

# MySQL
SELECT DR_NAME, DR_ID, MCDP_CD, DATE_FORMAT(HIRE_YMD, '%Y-%m-%d') as HIRE_TMD
FROM DOCTOR
WHERE MCDP_CD = 'CS' or MCDP_CD = 'GS' 
ORDER BY HIRE_YMD DESC, DR_NAME ASC

# Oracle
SELECT DR_NAME, DR_ID, MCDP_CD, TO_CHAR(HIRE_YMD, 'yyyy-mm-dd') HIRE_TMD
FROM DOCTOR
WHERE MCDP_CD = 'CS' or MCDP_CD = 'GS' 
ORDER BY HIRE_YMD DESC, DR_NAME ASC