์ค๋์ ์กฐ์ธ(JOIN)์ ๋ํด ๋ค์ ๋ณต์ตํ๋ฉฐ ๋ ๊น๊ฒ ํ์ตํ๊ณ , ์๋ธ์ฟผ๋ฆฌ(Subquery) ๊ฐ๋ ์ ์๋กญ๊ฒ ๋ฐฐ์ ๋ค.
๊ธฐ์กด์ ์ตํ๋ ์กฐ์ธ์ ๋ค์ ์ ๋ฆฌํ๋ฉด์ ๋์น๊ณ ์๋ ๋ถ๋ถ๋ค์ ์ฑ์๋ณผ ์ ์์๊ณ ,
์๋ธ์ฟผ๋ฆฌ๋ ์ฒ์์ ์กฐ๊ธ ๋ฏ์ค์์ง๋ง ์ง์ ์์ ๋ฅผ ์คํํ๋ฉด์ ์์ฐ์ค๋ฝ๊ฒ ์ต์ํด์ก๋ค.
๋ฌด์๋ณด๋ค๋ ์ค๋์ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ๋์ผ๋ก ํ์ธํ๋ ๊ณผ์ ์ด ๊ฝค ์ฌ๋ฏธ์์๋ค.
๐ ์ค๋ ๋ฐฐ์ด ๋ด์ฉ ์ ๋ฆฌ
๐ท ์กฐ์ธ
์ด์ ๊ฐ๋ณ๊ฒ ํ์ตํ ๋ด์ฉ์ ๋ฐํ์ผ๋ก INNER JOIN, LEFT OUTER JOIN, SELF JOIN ๋ฑ์ ๋ค์ ํ์ตํ๋ค.
๋จ์ํ ํ ์ด๋ธ์ ์ฐ๊ฒฐํ๋ ๊ฐ๋ ์ ๋์ด์,
์ด๋ค ์กฐ๊ฑด์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๊ฒฐํฉํด์ผ ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์๋์ง๋ฅผ
๋ค์ํ ์ค์ต์ ํตํด ๋ค์ ์ ๋ฆฌํ ์ ์์๋ค.
ํนํ ON, USING, NATURAL JOIN ๋ฑ์ ์ฌ์ฉ ๋ฐฉ์ ์ฐจ์ด๋ ์ ๊ฒํ๋ค.
๐ถ ์๋ธ์ฟผ๋ฆฌ (Subquery)
์ฟผ๋ฆฌ ์์ ๋ ๋ค๋ฅธ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ๋ ๊ตฌ์กฐ๋ก,
SELECT, WHERE, FROM, HAVING ์ ์์ ๋ค์ํ๊ฒ ์ฐ์ผ ์ ์๋ค.
๋จ์ผ ํ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๋ ์๋ธ์ฟผ๋ฆฌ,
์ฌ๋ฌ ํ์ ๋ฐํํด์ IN, ANY, ALL๊ณผ ํจ๊ป ์ฌ์ฉํ๋ ๋ฐฉ์ ๋ฑ
์ํฉ์ ๋ฐ๋ผ ๋ค๋ฅธ ํจํด์ ์ตํ๋ ๋ฐ ์ง์คํ๋ค.
์ค์ ์์ ๋ฅผ ์คํํ๋ฉด์, ์ฟผ๋ฆฌ ์์์ ์ฟผ๋ฆฌ๋ฅผ ์ฐ๋ ๋ฐฉ์์ด
๋ณต์กํ ๋ฐ์ดํฐ๋ฅผ ๋ ์ ๊ตํ๊ฒ ๋ค๋ฃฐ ์ ์๊ฒ ํด ์ค๋ค๋ ๊ฑธ ์ค๊ฐํ ์ ์์๋ค.
๐งก ๋๋ ์
์ค๋์ SQL ์ฟผ๋ฆฌ ์์ฑ ์ค๋ ฅ์ด ํ์ธต ์ ๋ฆฌ๋๋ ๋๋์ด์๋ค.
์กฐ์ธ์ ๋ค์ ํ์ตํ๋ฉด์ ๊ทธ๋์ ๋์ณค๋ ๋ถ๋ถ๋ ๋ณด์ํ ์ ์์๊ณ ,
์๋ธ์ฟผ๋ฆฌ๋ฅผ ์ฒ์ ์ ํ์ง๋ง ์๊ฐ๋ณด๋ค ์ ์ฐํ๊ฒ ํ์ฉํ ์ ์์ด ํฅ๋ฏธ๋ก์ ๋ค.
๋ฐ์ดํฐ๋ฅผ ์ด๋ป๊ฒ ํจ์จ์ ์ผ๋ก ์กฐํํ๊ณ ๊ฐ๊ณตํ ์ง ๊ณ ๋ฏผํ๋ ์๊ฐ์ด ๊ฝค ์ฆ๊ฑฐ์ ๊ณ ,
์ด๋ฐ ์ค์ต์ด ๋ฐ๋ณต๋ ์๋ก SQL์ ๋ํ ์์ ๊ฐ๋ ์กฐ๊ธ์ฉ ๋ถ๊ณ ์๋ ๊ฒ ๊ฐ๋ค.
'โ๏ธ DevLog > Devcourse' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[DevCourse] ์์ฑํ AI ํ์ฉ ๋ฐฑ์๋ ๋ฐ๋ธ์ฝ์ค 39์ผ์ฐจ (0) | 2025.06.02 |
---|---|
[DevCourse] ์์ฑํ AI ํ์ฉ ๋ฐฑ์๋ ๋ฐ๋ธ์ฝ์ค 38์ผ์ฐจ (0) | 2025.06.02 |
[DevCourse] ์์ฑํ AI ํ์ฉ ๋ฐฑ์๋ ๋ฐ๋ธ์ฝ์ค 36์ผ์ฐจ (0) | 2025.05.28 |
[DevCourse] ์์ฑํ AI ํ์ฉ ๋ฐฑ์๋ ๋ฐ๋ธ์ฝ์ค 35์ผ์ฐจ (0) | 2025.05.27 |
[DevCourse] ์์ฑํ AI ํ์ฉ ๋ฐฑ์๋ ๋ฐ๋ธ์ฝ์ค 34์ผ์ฐจ (0) | 2025.05.27 |