๐Ÿฌ MySQL/๋ฌธ์ œํ’€์ด

[MySQL] SQL ์ฝ”๋”ฉํ…Œ์ŠคํŠธ Day9

xod22 2022. 2. 20. 00:05
728x90

๋“œ๋””์–ด SQL์˜ ๊ฝƒ์ธ..JOIN๋ฌธ์ œ๋ฅผ ํ’€์–ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค~_~

๊ทธ๋ฆฌ๊ณ  ๋™์‹œ์—..LEVEL3์— ์ ‘์–ด๋“ค์—ˆ๋‹ค๋Š” ์‚ฌ์‹ค..!


6. JOIN

https://programmers.co.kr/learn/courses/30/lessons/59043

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์žˆ์—ˆ๋Š”๋ฐ์š” ์—†์—ˆ์Šต๋‹ˆ๋‹ค

ANIMAL_INS ํ…Œ์ด๋ธ”์€ ๋™๋ฌผ ๋ณดํ˜ธ์†Œ์— ๋“ค์–ด์˜จ ๋™๋ฌผ์˜ ์ •๋ณด๋ฅผ ๋‹ด์€ ํ…Œ์ด๋ธ”์ž…๋‹ˆ๋‹ค. ANIMAL_INS ํ…Œ์ด๋ธ” ๊ตฌ์กฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์œผ๋ฉฐ, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE๋Š” ๊ฐ๊ฐ ๋™๋ฌผ์˜ ์•„์ด๋””

programmers.co.kr

๋ฌธ์ œ 
๊ด€๋ฆฌ์ž์˜ ์‹ค์ˆ˜๋กœ ์ผ๋ถ€ ๋™๋ฌผ์˜ ์ž…์–‘์ผ์ด ์ž˜๋ชป ์ž…๋ ฅ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ณดํ˜ธ ์‹œ์ž‘์ผ๋ณด๋‹ค ์ž…์–‘์ผ์ด ๋” ๋น ๋ฅธ ๋™๋ฌผ์˜ ์•„์ด๋””์™€ ์ด๋ฆ„์„ ์กฐํšŒํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ด๋•Œ ๊ฒฐ๊ณผ๋Š” ๋ณดํ˜ธ ์‹œ์ž‘์ผ์ด ๋น ๋ฅธ ์ˆœ์œผ๋กœ ์กฐํšŒํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

 

ํ’€์ด
SELECT INS.ANIMAL_ID, INS.NAME
FROM ANIMAL_INS INS, ANIMAL_OUTS OUTS
WHERE INS.ANIMAL_ID=OUTS.ANIMAL_ID AND OUTS.DATETIME<INS.DATETIME
ORDER BY INS.DATETIME;

 

1) ํ…Œ์ด๋ธ”๋ช…์„ ๊ฐ„๋žตํ•˜๊ฒŒ ์นญํ•˜๊ธฐ ์œ„ํ•ด์„œ ANIMAL_INS ํ…Œ์ด๋ธ” ๋’ค์— INS๋ฅผ ์จ์ฃผ์—ˆ๋‹ค.

-> FROM ANIMAL_INS INS, ANIMAL_OUTS OUTS

 

2) ๋ณดํ˜ธ์‹œ์ž‘์ผ(INS.DATETIME)๋ณด๋‹ค ์ž…์–‘์ผ(OUTS.DATETIME)์ด ๋” ๋น ๋ฅธ ๋™๋ฌผ์„ ์กฐํšŒํ•ด์•ผ ํ•จ! ์กฐ๊ฑด์— ๋„ฃ์–ด์คŒ..!

WHERE OUTS.DATETIME<INS.DATETIME

 

3) ๋‘ ํ…Œ์ด๋ธ”์„ ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ ์กฐ๊ฑด(WHERE)์„ ๋„ฃ์–ด์คŒ

WHERE INS.ANIMAL_ID=OUTS.ANIMAL_ID

 

๋‹ค๋ฅธ์‚ฌ๋žŒ ํ’€์ด
SELECT INS.ANIMAL_ID, INS.NAME
FROM ANIMAL_INS INS JOIN ANIMAL_OUTS OUTS
ON INS.ANIMAL_ID=OUTS.ANIMAL_ID 
WHERE OUTS.DATETIME<INS.DATETIME
ORDER BY INS.DATETIME;

JOIN ON์„ ์‚ฌ์šฉํ•ด์ฃผ์—ˆ๋‹ค..!

728x90