https://school.programmers.co.kr/learn/courses/30/lessons/132204
[문제]
PATIENT, DOCTOR 그리고 APPOINTMENT 테이블에서 2022년 4월 13일 취소되지 않은 흉부외과(CS) 진료 예약 내역을 조회하는 SQL문을 작성해주세요. 진료예약번호, 환자이름, 환자번호, 진료과코드, 의사이름, 진료예약일시 항목이 출력되도록 작성해주세요. 결과는 진료예약일시를 기준으로 오름차순 정렬해주세요.
[나의 풀이]
SELECT APNT_NO, PT_NAME, A.PT_NO, A.MCDP_CD, DR_NAME, APNT_YMD
FROM APPOINTMENT A LEFT JOIN PATIENT P ON A.PT_NO = P.PT_NO
LEFT JOIN DOCTOR D ON A.MDDR_ID = D.DR_ID
WHERE DATE_FORMAT(APNT_YMD,'%Y-%m-%d') = '2022-04-13'
AND A.MCDP_CD = 'CS'
AND APNT_CNCL_YN = 'N'
ORDER BY APNT_YMD;
[다른 풀이]
SELECT AP.APNT_NO, P.PT_NAME, AP.PT_NO, AP.MCDP_CD, D.DR_NAME, AP.APNT_YMD
FROM APPOINTMENT AP
JOIN DOCTOR D ON D.DR_ID = AP.MDDR_ID
JOIN PATIENT P ON P.PT_NO = AP.PT_NO
WHERE AP.APNT_CNCL_YMD IS NULL AND AP.MCDP_CD = 'CS' AND AP.APNT_YMD LIKE '2022-04-13%'
ORDER BY AP.APNT_YMD
WHERE절의 APNT_YMD조건을 위 방식들 외에도 다양하게 표현할 수 있다.
TO_CHAR(B.APNT_YMD, 'YYYY-MM-DD') = '2022-04-13'
LEFT(APNT_YMD,10) = '2022-04-13'
'프로그래머스 > My SQL' 카테고리의 다른 글
저자 별 카테고리 별 매출액 집계하기 (0) | 2024.12.25 |
---|---|
주문량이 많은 아이스크림들 조회하기 (0) | 2024.12.24 |
오프라인/온라인 판매 데이터 통합하기 (0) | 2024.12.22 |
년, 월, 성별 별 상품 구매 회원 수 구하기 (0) | 2024.12.21 |
그룹별 조건에 맞는 식당 목록 출력하기 (0) | 2024.12.20 |