Growth ๐ŸŒณ/Practice ๐Ÿ’ป

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ทจ์†Œ๋˜์ง€ ์•Š์€ ์ง„๋ฃŒ ์˜ˆ์•ฝ ์กฐํšŒํ•˜๊ธฐ

์ธ” 2022. 11. 21. 21:46

๐Ÿ“ข ๋ณธ ํฌ์ŠคํŒ…์— ํ™œ์šฉ๋˜๋Š” ๊ธฐ๋ณธ ๋ฌธ์ œ ๋ฐ ์ž๋ฃŒ ์ถœ์ฒ˜๋Š”

       ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต,   
      https://school.programmers.co.kr/learn/challenges?page=1&languages=mysql%2Coracle
์ž„์„ ๋ฐํž™๋‹ˆ๋‹ค.

 

 


โ–  ๋ฌธ์ œ

๋ฌธ์ œ ์„ค๋ช…

๋‹ค์Œ์€ ํ™˜์ž ์ •๋ณด๋ฅผ ๋‹ด์€ PATIENT ํ…Œ์ด๋ธ”๊ณผ ์˜์‚ฌ ์ •๋ณด๋ฅผ ๋‹ด์€ DOCTOR ํ…Œ์ด๋ธ”, ๊ทธ๋ฆฌ๊ณ  ์ง„๋ฃŒ ์˜ˆ์•ฝ๋ชฉ๋ก์„ ๋‹ด์€ APPOINTMENT์— ๋Œ€ํ•œ ํ…Œ์ด๋ธ”์ž…๋‹ˆ๋‹ค. PATIENT ํ…Œ์ด๋ธ”์€ ๋‹ค์Œ๊ณผ ๊ฐ™์œผ๋ฉฐ PT_NO, PT_NAME, GEND_CD, AGE,  TLNO๋Š” ๊ฐ๊ฐ ํ™˜์ž๋ฒˆํ˜ธ, ํ™˜์ž์ด๋ฆ„, ์„ฑ๋ณ„์ฝ”๋“œ, ๋‚˜์ด, ์ „ํ™”๋ฒˆํ˜ธ๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

Column name Type Nullable
PT_NO VARCHAR(N) FALSE
PT_NAME VARCHAR(N) FALSE
GEND_CD VARCHAR(N) FALSE
AGE INTEGER FALSE
TLNO VARCHAR(N) TRUE

 DOCTOR ํ…Œ์ด๋ธ”์€ ๋‹ค์Œ๊ณผ ๊ฐ™์œผ๋ฉฐ DR_NAME, DR_ID, LCNS_NO, HIRE_YMD, MCDP_CD, TLNO๋Š” ๊ฐ๊ฐ ์˜์‚ฌ์ด๋ฆ„, ์˜์‚ฌID, ๋ฉดํ—ˆ๋ฒˆํ˜ธ, ๊ณ ์šฉ์ผ์ž, ์ง„๋ฃŒ๊ณผ์ฝ”๋“œ, ์ „ํ™”๋ฒˆํ˜ธ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

Column name Type Nullable
DR_NAME VARCHAR(N) FALSE
DR_ID VARCHAR(N) FALSE
LCNS_NO VARCHAR(N) FALSE
HIRE_YMD DATE FALSE
MCDP_CD VARCHAR(N) TRUE
TLNO VARCHAR(N) TRUE

 APPOINTMENT ํ…Œ์ด๋ธ”์€ ๋‹ค์Œ๊ณผ ๊ฐ™์œผ๋ฉฐ APNT_YMD, APNT_NO, PT_NO, MCDP_CD, MDDR_ID, APNT_CNCL_YN, APNT_CNCL_YMD๋Š” ๊ฐ๊ฐ  ์ง„๋ฃŒ ์˜ˆ์•ฝ์ผ์‹œ, ์ง„๋ฃŒ์˜ˆ์•ฝ๋ฒˆํ˜ธ, ํ™˜์ž๋ฒˆํ˜ธ, ์ง„๋ฃŒ๊ณผ์ฝ”๋“œ, ์˜์‚ฌID, ์˜ˆ์•ฝ์ทจ์†Œ์—ฌ๋ถ€, ์˜ˆ์•ฝ์ทจ์†Œ๋‚ ์งœ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

 

Column name Type Nullable
APNT_YMD TIMESTAMP FALSE
APNT_NO INTEGER FALSE
PT_NO VARCHAR(N) FALSE
MCDP_CD VARCHAR(N) FALSE
MDDR_ID VARCHAR(N) FALSE
APNT_CNCL_YN VARCHAR(N) TRUE
APNT_CNCL_YMD DATE TRUE

 


๋ฌธ์ œ

PATIENT, DOCTOR ๊ทธ๋ฆฌ๊ณ  APPOINTMENT ํ…Œ์ด๋ธ”์—์„œ 2022๋…„ 4์›” 13์ผ ์ทจ์†Œ๋˜์ง€ ์•Š์€ ํ‰๋ถ€์™ธ๊ณผ(CS) ์ง„๋ฃŒ ์˜ˆ์•ฝ ๋‚ด์—ญ์„ ์กฐํšŒํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ง„๋ฃŒ์˜ˆ์•ฝ๋ฒˆํ˜ธ, ํ™˜์ž์ด๋ฆ„, ํ™˜์ž๋ฒˆํ˜ธ, ์ง„๋ฃŒ๊ณผ์ฝ”๋“œ, ์˜์‚ฌ์ด๋ฆ„, ์ง„๋ฃŒ์˜ˆ์•ฝ์ผ์‹œ ํ•ญ๋ชฉ์ด ์ถœ๋ ฅ๋˜๋„๋ก ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ๊ฒฐ๊ณผ๋Š” ์ง„๋ฃŒ์˜ˆ์•ฝ์ผ์‹œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์„ธ์š”.

 


โ–  ํ’€์ด

  ๋ฌธ์ œ ์š”๊ตฌ์‚ฌํ•ญ  

 

 2022๋…„ 4์›” 13์ผ ์ทจ์†Œ๋˜์ง€ ์•Š์€                                       > ์กฐ๊ฑด1

ํ‰๋ถ€์™ธ๊ณผ(CS) ์ง„๋ฃŒ ์˜ˆ์•ฝ ๋‚ด์—ญ                                              > ์กฐ๊ฑด2

๊ฒฐ๊ณผ๋Š” ์ง„๋ฃŒ์˜ˆ์•ฝ์ผ์‹œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ            > ์ •๋ ฌ์กฐ๊ฑด1

 

JOIN ๊ด€๊ณ„

PATIENT -----( ํ™˜์ž๋ฒˆํ˜ธ )-------- APPOINTMENT ----------( ์˜์‚ฌID ) ------------- DOCTOR

 

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