https://school.programmers.co.kr/learn/courses/30/lessons/132204
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
🔍 문제
PATIENT, DOCTOR 그리고 APPOINTMENT 테이블에서 2022년 4월 13일 취소되지 않은 흉부외과(CS) 진료 예약 내역을 조회하는 SQL문을 작성해주세요. 진료예약번호, 환자이름, 환자번호, 진료과코드, 의사이름, 진료예약일시 항목이 출력되도록 작성해주세요. 결과는 진료예약일시를 기준으로 오름차순 정렬해주세요.
🎯정답
WITH PATIENT_FILT_APPT AS (
SELECT
A.APNT_YMD, A.APNT_NO, A.MDDR_ID, A.PT_NO, P.PT_NAME
FROM
APPOINTMENT A JOIN PATIENT P ON A.PT_NO = P.PT_NO
WHERE
DATE_FORMAT(APNT_YMD, "%Y-%m-%d") = '2022-04-13'
AND
APNT_CNCL_YN = 'N'
)
SELECT
F.APNT_NO, F.PT_NAME, F.PT_NO, D.MCDP_CD, D.DR_NAME, F.APNT_YMD
FROM
PATIENT_FILT_APPT F JOIN DOCTOR D ON F.MDDR_ID = D.DR_ID
ORDER BY
F.APNT_YMD;
❓풀이
- WITH로 공통 테이블 표현식으로 임시 결과 셋을 생성
- 날짜가 22년 4월 13일인 데이터와 조인을 해준다
- 이후 닥터 테이블과 다시 한 번 더 조인
'프로그래밍 언어 > 02. SQL' 카테고리의 다른 글
| [SQL] 프로그래머스 LV.3 년, 월, 성별 별 상품 구매 회원 수 구하기 (2) | 2025.08.17 |
|---|---|
| [SQL] 프로그래머스 LV.4 저자 별 카테고리 별 매출액 집계하기 (1) | 2025.08.17 |
| [SQL] 프로그래머스 LV.4 5월 식품들의 총매출 조회하기 (1) | 2025.08.14 |
| [SQL] 프로그래머스 LV.4 식품분류별 가장 비싼 식품의 정보 조회하기 (3) | 2025.08.14 |
| [SQL] 프로그래머스 LV.4 보호소에서 중성화한 동물 (2) | 2025.08.14 |
