상세 컨텐츠

본문 제목

[SQL] 3개 이상의 테이블 조인

SQL

by ollive 2024. 7. 5. 20:00

본문

<문제>

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

<풀이 1>

 

FROM 절에 3개의 테이블을 조인하고 나온 결과를 SELECT와 WHERE, ORDER BY 에 대입시켰다.

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 AP.MDDR_ID = D.DR_ID
     JOIN PATIENT P 
     	ON AP.PT_NO = P.PT_NO
WHERE AP.APNT_YMD like '2022-04-13%'
      AND APNT_CNCL_YN  = 'N'
      AND AP.MCDP_CD  = 'CS'
ORDER BY AP.APNT_YMD

 

<풀이 2>

 

FROM에  조인할 테이블 명을 다 적고 WHERE에서 기준테이블을 명시하는 방법도 있다.

SELECT AP.APNT_NO, P.PT_NAME, AP.PT_NO, AP.MCDP_CD, D.DR_NAME, AP.APNT_YMD
FROM APPOINTMENT AP, DOCTOR D, PATIENT P
WHERE AP.MDDR_ID = D.DR_ID
      AND AP.PT_NO = P.PT_NO
      AND AP.APNT_YMD like '2022-04-13%'
      AND APNT_CNCL_YN  = 'N'
      AND AP.MCDP_CD  = 'CS'
ORDER BY AP.APNT_YMD

 

관련글 더보기