https://programmers.co.kr/learn/courses/30/lessons/59044
์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์ค๋ ๊ธฐ๊ฐ ๋ณดํธํ ๋๋ฌผ(1)
ANIMAL_INS ํ ์ด๋ธ์ ๋๋ฌผ ๋ณดํธ์์ ๋ค์ด์จ ๋๋ฌผ์ ์ ๋ณด๋ฅผ ๋ด์ ํ ์ด๋ธ์ ๋๋ค. ANIMAL_INS ํ ์ด๋ธ ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ์ผ๋ฉฐ, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE๋ ๊ฐ๊ฐ ๋๋ฌผ์ ์์ด๋
programmers.co.kr
๋ฌธ์ (์ค๋ ๊ธฐ๊ฐ ๋ณดํธํ ๋๋ฌผ(1)) : LEFT JOIN
์์ง ์ ์์ ๋ชป ๊ฐ ๋๋ฌผ ์ค, ๊ฐ์ฅ ์ค๋ ๋ณดํธ์์ ์์๋ ๋๋ฌผ 3๋ง๋ฆฌ์ ์ด๋ฆ๊ณผ ๋ณดํธ ์์์ผ์ ์กฐํํ๋ SQL๋ฌธ์ ์์ฑํด์ฃผ์ธ์. ์ด๋ ๊ฒฐ๊ณผ๋ ๋ณดํธ ์์์ผ ์์ผ๋ก ์กฐํํด์ผ ํฉ๋๋ค.
ํ์ด
SELECT INS.NAME, INS.DATETIME
FROM ANIMAL_INS INS LEFT JOIN ANIMAL_OUTS OUTS
ON INS.ANIMAL_ID=OUTS.ANIMAL_ID
WHERE OUTS.DATETIME IS NULL
ORDER BY INS.DATETIME
LIMIT 3;
1. LEFT JOIN์ ์ฌ์ฉํด๋ณด์๋ค
์ด๋ฐ ๋ฐฉ์์ผ๋ก ์ผ์ชฝ ํ ์ด๋ธ์ ๊ธฐ์ค์ผ๋ก ํฉ์ณ์ง๋ค๋ ์๋ฏธ..!
ํฉ์ณ์ง ๊ฐ์ด ์์ผ๋ฉด NULL๋ก ํ์
2. JOIN ํ, ๋ ํ ์ด๋ธ ์ค ANIMAL_OUTS ํ ์ด๋ธ์ DATETIME ์ปฌ๋ผ์ด NULL์ธ ํ์ด ์ ์๋์ง ์์ ๋๋ฌผ์ด๋ค.
=> WHERE OUTS.DATETIME IS NULL
3. ๊ฒฐ๊ณผ๋ ๋ณดํธ์์์ผ ์์ผ๋ก(์ค๋๋ ์์ผ๋ก) ์กฐํ
=> ORDER BY INS.DATETIME
4. ๋๋ฌผ 3๋ง๋ฆฌ๋ง ์ถ๋ ฅํด์ผํจ
=> ๋ง์ง๋ง์ LIMIT 3;
'๐ฌ MySQL > ๋ฌธ์ ํ์ด' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[MySQL] SQL ์ฝ๋ฉํ ์คํธ Day12 (0) | 2022.02.24 |
---|---|
[MySQL] SQL ์ฝ๋ฉํ ์คํธ Day11 (0) | 2022.02.23 |
[MySQL] SQL ์ฝ๋ฉํ ์คํธ Day9 (0) | 2022.02.20 |
[MySQL] SQL ์ฝ๋ฉํ ์คํธ Day8 (0) | 2022.02.19 |
[MySQL] SQL ์ฝ๋ฉํ ์คํธ Day7 (0) | 2022.02.18 |