Sub Query
๋ถ์์ง์ (Sub Query)
ํ๋์ SQL๋ฌธ ์์ ๋ค๋ฅธ SQL์ด ์ค์ฒฉ๋ (nested) ์ง์๋ฅผ ๋ปํ๋ค.
๋ค๋ฅธ ํ ์ด๋ธ์์ ๊ฐ์ ธ์จ ๋ฐ์ดํฐ๋ก ํ์ฌ ํ ์ด๋ธ์ ์๋ ์ ๋ณด๋ฅผ ์ฐพ๊ฑฐ๋ ๊ฐ๊ณต ์ ์ฌ์ฉ.
๋ ํ ์ด๋ธ์ ์ฐ๊ด์ํฌ ๋๋ ์กฐ์ธ ํน์ ๋ถ์์ง์๋ฅผ ์ฌ์ฉํ๋ค. ๋ ์ค ์ด๋ค ๊ฒ์ ์ ํํ ์ง๋ ๋ฐ์ดํฐ์ ํํ์ ์์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋ค. ์ผ๋ฐ์ ์ผ๋ก, ๋ฐ์ดํฐ๊ฐ ๋๋์ผ ๊ฒฝ์ฐ ๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ ํฉ์ณ์ ์ฐ์ฐํ๋ ์กฐ์ธ๋ณด๋ค๋ ํ์ํ ๋ฐ์ดํฐ๋ง ์ฐพ์์ ๊ณต๊ธํด์ฃผ๋ ๋ถ์์ง์์ ์ฑ๋ฅ์ด ๋ ์ข๋ค.
๋ถ์์ง์๋ ์์น์ ์ญํ ์ ๋ฐ๋ผ์ ๊ตฌ๋ถ์ด ๋๋ค.
๋ช ์นญ
์์น
์๋ฌธ ๋ฐ ๋์์ด
์ค๋ช
์ค์นผ๋ผ ๋ถ์์ง์
SELECT ์
scalar subqueery
select ์ ์์ ์ฌ์ฉ๋๋ฉฐ, ๋จ์ผ๊ฐ์ ๋ฐํํ๊ธฐ ๋๋ฌธ์ ์ค์นผ๋ผ ๋ถ์์ง์๋ผ๊ณ ํ๋ค.
์ธ๋ผ์ธ ๋ทฐ
FROM์
inline view, table subquery
from ์ ์์ ๊ฒฐ๊ณผ๋ฅผ ๋ทฐ(view) ํํ๋ก ๋ฐํํ๊ธฐ ๋๋ฌธ์, ์ธ๋ผ์ธ ๋ทฐ๋ผ๊ณ ํ๋ค.
์ค์ฒฉ์ง์
WHERE์
nested subquery, predicate subquery
wherer์ ์ ์ ์ด์ ๊ฐ์ด ์ฌ์ฉ๋๋ฉฐ, ๊ฒฐ๊ณผ๋ฅผ ํ์ ์ํค๊ธฐ ์ํด ์ฌ์ฉ๋๋ค. (์๊ด ํน์ ๋น์๊ด ํํ)
๋ถ์์ง์ ๋ค๋ฅธ ๋ถ๋ฅ
๋์๋ฐฉ์
๋ถ์ ์ง์๊ฐ ์ฃผ ์ง์์ ๊ฐ์ ์ฐธ์กฐํ๋ ์ ๋ฌด์ ๋ฐ๋ผ ๋ถ๋ฅ.
์๊ด ๋ถ์์ง์: ์ฃผ ์ง์์ ํน์ ์ด๊ฐ์, ๋ถ์์ง์๊ฐ ์์๋ฐ์ ๋ถ์์ง์์ ์ง์์ ์ฌ์ฉํ๋ ํํ
๋น์๊ด ๋ถ์์ง์(์ผ๋ฐ ๋ถ์ ์ง์): ๋ ๋ฆฝ๋ ์ง์๋ฅผ ์ํํด์ ๊ฒฐ๊ณผ๊ฐ ๊ฐ์ ธ์ด
๋ฐํํ๋ ๊ฒฐ๊ณผ ํํ
๋ถ์์ง์๊ฐ ๋จ์ผํ์ ๋ฐํํ๋๋, ๋ค์ค ํ์ ๋ฐํํ๋๋์ ๋ฐ๋ผ ๋ถ๋ฅ.
๋จ์ผํ ๋ถ์์ง์: ๋ถ์ ์ง์์ ๊ฒฐ๊ณผ ํ๋์ ํ์ ๋ฐํํ์ฌ ์ฃผ ์ง์์ ์ ๋ฌ. (๋น๊ต ์ฐ์ฐ์์ ์ํ์ด๋ ์ค์นผ๋ผ ๋ถ์์ง์ ๋ฑ์์ ๋ํ๋๋ค.)
๋ค์คํ ๋ถ์์ง์: ๋ถ์์ง์์ ๊ฒฐ๊ณผ ์ฌ๋ฌ๊ฐ์ ํ์ ๋ฐํ (IN ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ๋ฌ ํ ์ฒ๋ฆฌ)
์ค์นผ๋ผ ๋ถ์์ง์ ์
select ๋ฌธ
UPDATE ๋ฌธ
๊ธฐ์กด ํ ์ด๋ธ์ ์๋ก์ด ์ด์ ์ถ๊ฐํ๋ ๊ฒฝ์ฐ, ํด๋น ์ด์ ์๋ก ๋ฐ์ดํฐ๋ฅผ ์ ๋ฐ์ดํธ๋ฅผ ์ผ์ผ์ด ํด์ฃผ๋ ๊ฒ์ ๋นํจ์จ์ ์ด๋ค.
์ค์นผ๋ผ ๋ถ์์ง์๋ฅผ ์ฌ์ฉํด์, ์ผ๊ด ์์ ๊ฐ๋ฅ.
์ธ๋ผ์ธ ๋ทฐ - FROM ๋ถ์์ง์
from ์ ์ ์ฌ์ฉํ๋ ๋ถ์์ง์
๋ทฐ(view): ๊ธฐ์กด ํ ์ด๋ธ๋ก๋ถํฐ ์ผ์์ ์ผ๋ก ๋ง๋ค์ด์ง ๊ฐ์์ ํ ์ด๋ธ
SQL์ FROM์ ์๋ ํ ์ด๋ธ์ด๋ฆ์ด ์์นํ๋๋ฐ, ์ธ๋ผ์ธ ๋ทฐ๋ฅผ ์ฌ์ฉํ๋ฉด ๋ณดํต ํ ์ด๋ธ๊ณผ ๊ฐ์ ํํ๋ก ์ฌ์ฉ์ด ๊ฐ๋ฅ.
๋ถ์์ง์ ๊ฒฐ๊ณผ ๋ฐํ๋๋ ๋ฐ์ดํฐ๋ ๋ค์ค ํ, ๋ค์ค ์ด์ด์ด๋ ์๊ด ์๋ค.
๋จ, ๊ฐ์ ํ ์ด๋ธ์ด๋ฏ๋ก ์๊ด ๋ถ์์ง์๋ก๋ ์ฌ์ฉ ๋ถ๊ฐ.
Last updated