https://school.programmers.co.kr/learn/courses/30/lessons/132203
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
문제 설명
다음은 종합병원에 속한 의사 정보를 담은DOCTOR 테이블입니다. DOCTOR 테이블은 다음과 같으며 DR_NAME, DR_ID, LCNS_NO, HIRE_YMD, MCDP_CD, TLNO는 각각 의사이름, 의사ID, 면허번호, 고용일자, 진료과코드, 전화번호를 나타냅니다.
![](https://blog.kakaocdn.net/dn/wsflq/btsL1fxoUK8/ztX44sv1S68z3tMxjJIFJK/img.png)
예시
DOCTOR 테이블이 다음과 같을 때
SQL을 실행하면 다음과 같이 출력되어야 합니다.
주의사항
날짜 포맷은 예시와 동일하게 나와야합니다.
문제 접근
1. where문에 조건 cs or gs인 의사, dr_name, dr_id, mcdp_cd, hire_ymd 뽑아내기
2. 인풋 테이블엔 시간도 있어서 날짜 형식 바꿔줘야 함 date_format
3. hire_ymd 기준 내림차순, 그 다음은 dr_name 기준 오름차순
최종 코드
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
'SQL' 카테고리의 다른 글
HackerRank SQL 4문제 풀이 (2) (0) | 2025.01.26 |
---|---|
프로그래머스 SQL - 강원도에 위치한 생산공장 목록 출력하기 (0) | 2025.01.25 |
HackerRank SQL 4문제 풀이 (1) (0) | 2025.01.23 |
LeetCode SQL 4문제 풀이 (0) | 2025.01.15 |
MySQL 숫자, 문자열 다루는 함수 정리 (0) | 2025.01.15 |