20240716 TIL
58번 - 취소되지 않은 진료 예약 조회하기
PATIENT, DOCTOR 그리고 APPOINTMENT 테이블에서 2022년 4월 13일 취소되지 않은 흉부외과(CS) 진료 예약 내역을 조회하는 SQL문을 작성해주세요. 진료예약번호, 환자이름, 환자번호, 진료과코드, 의사이름, 진료예약일시 항목이 출력되도록 작성해주세요. 결과는 진료예약일시를 기준으로 오름차순 정렬해주세요.
<나의 풀이>
select a.apnt_no,
p.pt_name,
p.pt_no,
a.mcdp_cd,
d.dr_name,
a.apnt_ymd
from appointment a left join patient p on a.pt_no=p.pt_no
left join doctor d on d.dr_id=a.mddr_id
where a.apnt_cncl_yn = 'N' and a.apnt_ymd like '2022-04-13%'
order by a.apnt_ymd
LEFT JOIN을 통한 문제 해결
- 조회: apnt_no, pt_name, pt_no, mcdp_cd, dr_name, apnt_ymd
- appointment와 patient는 pt_no로 같이 조인해주고 doctor는 appintment와 각 의사 아이디를 조인해줌
- 조건: 취소되지 않은 진료예약 내역이기 때문에 apnt_cncl_yn이 N으로 된 것만 찾고, 2022년 4월 13일을 찾는거기 때문에 like절을 통해 찾아줌
- 순서: 진료예약일시를 기준으로 오름차순
join의 3개결합은 처음 해보는 것이었는데 이 문제를 통해 어떻게 결합하는지 알게 됐다! 최근 들어 내가 잘 모르거나 헷갈리는 것들이 나와서 좋다 새로운걸 또 알아가고 이해해가니 재밌는 것 같다. 이렇게 풀면서 실무에서는 어떤게 많이 쓰일까하는 생각도 든다
오늘은 3개 결합을 하는 모르는 부분이 나와 구글링을 해봤지만 이 이후에 또 비슷한 문제가 나온다면 나 혼자 직접 풀어봐야겠다 !
'✨Today I Learned > MySQL' 카테고리의 다른 글
[MySQL] 우유와 요거트가 담긴 장바구니 (6) | 2024.07.23 |
---|---|
[MySQL] 자동차 대여 기록에 장기/단기 대여 구분하기 (1) | 2024.07.22 |
SQL CODEKATA 55번 - 조건에 맞는 사용자 정보 조회하기 (0) | 2024.07.15 |
사전캠프 10일차 - SQL 5주차 정리 / SQL 코드카타 11번~19번 (0) | 2024.06.07 |
사전캠프 9일차 - SQL 5주차 강의 정리, SQL 코드카타 2번~10번 (0) | 2024.06.05 |
20240716 TIL
58번 - 취소되지 않은 진료 예약 조회하기
PATIENT, DOCTOR 그리고 APPOINTMENT 테이블에서 2022년 4월 13일 취소되지 않은 흉부외과(CS) 진료 예약 내역을 조회하는 SQL문을 작성해주세요. 진료예약번호, 환자이름, 환자번호, 진료과코드, 의사이름, 진료예약일시 항목이 출력되도록 작성해주세요. 결과는 진료예약일시를 기준으로 오름차순 정렬해주세요.
<나의 풀이>
select a.apnt_no,
p.pt_name,
p.pt_no,
a.mcdp_cd,
d.dr_name,
a.apnt_ymd
from appointment a left join patient p on a.pt_no=p.pt_no
left join doctor d on d.dr_id=a.mddr_id
where a.apnt_cncl_yn = 'N' and a.apnt_ymd like '2022-04-13%'
order by a.apnt_ymd
LEFT JOIN을 통한 문제 해결
- 조회: apnt_no, pt_name, pt_no, mcdp_cd, dr_name, apnt_ymd
- appointment와 patient는 pt_no로 같이 조인해주고 doctor는 appintment와 각 의사 아이디를 조인해줌
- 조건: 취소되지 않은 진료예약 내역이기 때문에 apnt_cncl_yn이 N으로 된 것만 찾고, 2022년 4월 13일을 찾는거기 때문에 like절을 통해 찾아줌
- 순서: 진료예약일시를 기준으로 오름차순
join의 3개결합은 처음 해보는 것이었는데 이 문제를 통해 어떻게 결합하는지 알게 됐다! 최근 들어 내가 잘 모르거나 헷갈리는 것들이 나와서 좋다 새로운걸 또 알아가고 이해해가니 재밌는 것 같다. 이렇게 풀면서 실무에서는 어떤게 많이 쓰일까하는 생각도 든다
오늘은 3개 결합을 하는 모르는 부분이 나와 구글링을 해봤지만 이 이후에 또 비슷한 문제가 나온다면 나 혼자 직접 풀어봐야겠다 !
'✨Today I Learned > MySQL' 카테고리의 다른 글
[MySQL] 우유와 요거트가 담긴 장바구니 (6) | 2024.07.23 |
---|---|
[MySQL] 자동차 대여 기록에 장기/단기 대여 구분하기 (1) | 2024.07.22 |
SQL CODEKATA 55번 - 조건에 맞는 사용자 정보 조회하기 (0) | 2024.07.15 |
사전캠프 10일차 - SQL 5주차 정리 / SQL 코드카타 11번~19번 (0) | 2024.06.07 |
사전캠프 9일차 - SQL 5주차 강의 정리, SQL 코드카타 2번~10번 (0) | 2024.06.05 |