코딩테스트/SQL 코딩테스트
<프로그래머스> 흉부외과 또는 일반외과 의사 목록 출력하기
배또가또
2023. 12. 13. 16:23
출처 : https://school.programmers.co.kr/learn/courses/30/lessons/132203
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
- 문제 요구사항
- DOCTOR테이블에서 진료과가 CS이거나 GS인 의사의 이름, 의사ID, 진료과, 고용일자를 조회
- 고용일자를 기준으로 내림차순 정렬, 고용일자가 같다면 이름을 기준으로 오름차순 정렬
- 날짜의 포맷은 예시와 동일하게 년-월-일로 조회
Oracle은 TO_CHAR() MySQL은 DATE_FORMAT() 함수를 이용하여 포맷 지정(Reference)
1) Oracle
SELECT DR_NAME,
DR_ID,
MCDP_CD,
TO_CHAR(HIRE_YMD, 'YYYY-MM-DD') as HIRE_YMD
FROM DOCTOR
WHERE MCDP_CD = 'CS' OR MCDP_CD = 'GS'
ORDER BY HIRE_YMD DESC, DR_NAME;
2) MySQL
SELECT DR_NAME,
DR_ID,
MCDP_CD,
DATE_FORMAT(HIRE_YMD, "%Y-%m-%d") as HIRE_YMD
FROM DOCTOR
WHERE MCDP_CD = 'CS' OR MCDP_CD = 'GS'
ORDER BY HIRE_YMD DESC, DR_NAME;