[DB]SQL(3)
๐๋ฐ์ดํฐ ์กฐ์ ์ธ์ด
๐๊ณ ๊ธ SELECT ๋ฌธ
- ์ง๊ณ ํจ์
ํ ์ด๋ธ์ ์กด์ฌํ๋ ์ ์ฒด ๋๋ ์ผ๋ถ ๋ ์ฝ๋๋ฅผ ๋์์ผ๋ก ํต๊ณ์ ์ธ ์ ๋ณด๋ฅผ ์์ฑํ๊ณ ์ ํ ๋ ์ฌ์ฉํ๋ ํจ์๋ฅผ ์ง๊ณ ํจ์๋ผ๊ณ ํฉ๋๋ค.
ํจ์๋ช | ๊ธฐ๋ฅ |
---|---|
AVG | ์ปฌ๋ผ์ ์๋ ๊ฐ๋ค์ ํ๊ท ์ ๊ตฌํจ |
MIN | ์ปฌ๋ผ์ ์๋ ๊ฐ ์ค ๊ฐ์ฅ ์์ ๊ฐ์ ๊ตฌํจ |
MAX | ์ปฌ๋ผ์ ์๋ ๊ฐ ์ค ๊ฐ์ฅ ํฐ ๊ฐ์ ๊ตฌํจ |
SUM | ์ปฌ๋ผ์ ์๋ ๊ฐ๋ค์ ํฉ์ ๊ตฌํจ |
COUNT | ์ปฌ๋ผ์ ์๋ ๊ฐ๋ค์ ๊ฐ์๋ฅผ ๊ตฌํจ |
๐๋จ๊ณผ๋ํ์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ์์ค.
1
2
SELECT COUNT(DISTINCT ๋จ๊ณผ๋ํ) AS ๋จ๊ณผ๋ํ์
FROM ํ๊ณผ
- ๊ทธ๋ฃน ์ง์
์ง๊ณ ํจ์๋ ํ ์ด๋ธ์ ์กด์ฌํ๋ ์ ์ฒด ๋ ์ฝ๋๋ฅผ ๋์์ผ๋ก ์ํ๋์ด ๋จ ํ๋์ ๊ฐ์ผ๋ก ๊ฒฐ๊ณผ๋ฅผ ์์ฑํฉ๋๋ค. ๊ทธ๋ฌ๋ ํ ์ด๋ธ์ ์กด์ฌํ๋ ๋ ์ฝ๋๋ฅผ ๋ค์์ ๊ทธ๋ฃน์ผ๋ก ๋ถ๋ฅํ๊ณ ๊ฐ ๊ทธ๋ฃน๋ณ๋ก ์ง๊ณ ํจ์๋ฅผ ์ ์ฉํ๊ธฐ ์ํด์๋ ๊ทธ๋ฃน ์ง์๋ฅผ ์ ์ฉํด์ผ ํฉ๋๋ค. ๊ทธ๋ฃน ์ง์๋ฅผ ์ํด GROUP BY ์ ์ ์ฌ์ฉํ๊ณ ๊ทธ๋ฃน ๋ด์ ์กฐ๊ฑด ์ง์ ์ ์ํ๋ ๊ฒฝ์ฐ HAVING ์ ์ ์ฌ์ฉํฉ๋๋ค.
1
2
3
4
/* SELECT ์ ์ ๊ทธ๋ฃน์ ๊ธฐ์ค๊ณผ ์ง๊ณํจ์
์ด์ธ์ ์ปฌ๋ผ์ ํฌํจ๋ ์ ์์ */
SELECT ์ง์
GROUP BY ์ปฌ๋ผ
๐์์ํ๊ณผ๋ณ ๊ต์์ ์๋ฅผ ์ถ๋ ฅํ์์ค.
1
2
3
4
5
6
/* SELECT ์ ์ ๊ต์์ด๋ฆ ์ปฌ๋ผ์ ์ถ๊ฐํ๋ ค๊ณ ํ๋ฉด
๊ทธ๋ฃน์ ๊ธฐ์ค๊ณผ ์ง๊ณํจ์์ ํด๋นํ๋ ์ปฌ๋ผ์ด ์๋๊ธฐ ๋๋ฌธ์
ํฌํจ๋ ์ ์์ */
SELECT ์์ํ๊ณผ, COUNT(*) AS ๊ต์์, ๊ต์์ด๋ฆ(X)
FROM ๊ต์
GROUP BY ์์ํ๊ณผ
- HAVING ์
GROUP BY ์ฐ์ฐ๊ณผ ์ง๊ณ ํจ์๋ ๋ ์ฝ๋๋ฅผ ๊ทธ๋ฃนํํ๊ณ ๊ทธ๋ฃน์ ๋ํ ์ง๊ณ ์ ๋ณด๋ฅผ ์ถ๋ ฅํฉ๋๋ค. ์ด๋ ์ฃผ์ด์ง ์กฐ๊ฑด์ ๋ง์กฑ์ํค๋ ์ ๋ณด๋ง ์ถ๋ ฅํ๊ณ ์ ํ๋ค๋ฉด HAVING ์ ์ ์ด์ฉํฉ๋๋ค.
1
2
3
SELECT ์ง์
GROUP BY ์ปฌ๋ผ
HAVING ์กฐ๊ฑด
- WHERE: ๋ ์ฝ๋์ ๋ํ ์กฐ๊ฑด
- HAVING ์ : ์ง๊ณ ๊ฒฐ๊ณผ ๋ ์ฝ๋์ ๋ํ ์กฐ๊ฑด
๐2๊ฐ ์ด์์ ์ ๊ณต์ ์ ์ฒญํ ํ์์ ํ์๋ฒํธ์ ์ ์ฒญ ์ ๊ณต ์๋ฅผ ์ถ๋ ฅํ์์ค.
1
2
3
4
SELECT ํ์๋ฒํธ, COUNT(*) AS ์ ์ฒญ_์ ๊ณต์
FROM ์ ๊ณต
GROUP BY ํ์๋ฒํธ
HAVING ์ ์ฒญ_์ ๊ณต์ >= 2
- ์ค์ฒฉ ์ง์
์ค์ฒฉ ์ง์๋ SELECT ๋ฌธ ๋ด๋ถ์ ๋ค๋ฅธ SELECT ๋ฌธ์ด ๋ค์ด์๋ ํํ์ ์ง์๋ฅผ ๋งํฉ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ๋ด๋ถ ์ง์์ ์ฒ๋ฆฌ๊ฒฐ๊ณผ๋ฅผ ์ธ๋ถ ์ง์์์ ์ฌ์ฌ์ฉํฉ๋๋ค. ์ค์ฒฉ ์ง์๋ ๋ ๊ฐ์ง ์ ํ์ผ๋ก ๊ตฌ๋ถํ ์ ์์ต๋๋ค.
-FROM ์ ์์์ ์ค์ฒฉ ์ง์ ํ์ฉ: FROM ์ ์์์ ๊ฒฐ๊ณผ ์งํฉ์ SELECT์์ ์ฌ๊ฒ์
1
2
3
4
5
SELECT ์ปฌ๋ผ1, ์ปฌ๋ผ2, ..., ์ปฌ๋ผn
FROM(SELECT ์ปฌ๋ผ1, ์ปฌ๋ผ2, ..., ์ปฌ๋ผm
FROM ํ
์ด๋ธ
WHERE ์กฐ๊ฑด)
WHERE ์กฐ๊ฑด
-WHERE ์ ์์์ ์ค์ฒฉ ์ง์ ํ์ฉ: WHERE ์ ์์์ ๊ฒฐ๊ณผ ์งํฉ์ ํ์ฉํ์ฌ ์ธ๋ถ ์ง์์์ ๋ ์ฝ๋ ์ถ๋ ฅ ์ฌ๋ถ ๊ฒฐ์ . IN, NOT IN, EXISTS, NOT EXISTS ์ฌ์ฉ.
1
2
3
4
5
SELECT ์ปฌ๋ผ1, ์ปฌ๋ผ2, ..., ์ปฌ๋ผn
FROM ํ
์ด๋ธ
WHERE ์ปฌ๋ผi์ฐ์ฐ์(SELECT ์ปฌ๋ผj
FROM ํ
์ด๋ธ2
WHERE ์กฐ๊ฑด)
- ๊ต์งํฉ๊ณผ ์ฐจ์งํฉ ์ฐ์ฐ
์ฌ๋ฌ ๋ ์ฝ๋๊ฐ ํฌํจ๋ ๋ฆฌ์คํธ ์ค ์ผ์น ์ฌ๋ถ๋ฅผ ํ์ธํ๊ธฐ ์ํด IN ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ฐจ์งํฉ ์ฐ์ฐ์ ํด๋นํ๋ EXCEPT ์ฐ์ฐ์ ํ ํ ์ด๋ธ์ ํฌํจ๋์ง๋ง ๋ค๋ฅธ ํ ์ด๋ธ์๋ ํฌํจ๋์ง ์๋ ๋ ์ฝ๋ ์งํฉ์ ์ถ์ถํ ๋ ์ฌ์ฉํฉ๋๋ค.
๐โ์ปดํจํฐ๊ณผํ๊ณผโ๋ฅผ ์ ๊ณตํ๋ ํ์ ์ค โ์ํ๊ณผโ๋ ์ ๊ณตํ๋ ํ์์ ํ์๋ฒํธ, ์ด์ํ์ ์ ์ถ๋ ฅํ์์ค.
1
2
3
4
5
SELECT ํ์๋ฒํธ, ์ด์ํ์
FROM ์ ๊ณต
WHERE ํ๊ณผ์ด๋ฆ = '์ํ๊ณผ' AND
ํ์๋ฒํธ IN (SELECT ํ์๋ฒํธ FROM ์ ๊ณต
WHERE ํ๊ณผ์ด๋ฆ = '์ปดํจํฐ๊ณผํ๊ณผ')
- EXISTS์ NOT EXISTS
EXISTS๋ NOT EXISTS์ฌ ์ฌ์ฉ๋๋ฉด ์ธ๋ถ ์ง์์ ๊ฐ ๋ ์ฝ๋์ ๋ํด ๋ด๋ถ ์ง์์ ์กฐ๊ฑด์ ๋ง์กฑํ๋์ง ๊ฒ์ฌํ๊ฒ ๋ฉ๋๋ค. EXISTS๋ ์ธ๋ถ ์ง์์ ๊ฐ ๋ ์ฝ๋์ ๋ํด ๋ด๋ถ ์ง์์ ๊ฒฐ๊ณผ์ ๋ ์ฝ๋๊ฐ ์กด์ฌํ๋ฉด ์ฐธ์ ๋ฐํํ๊ณ , ์กด์ฌํ์ง ์์ผ๋ฉด ๊ฑฐ์ง์ ๋ฐํํฉ๋๋ค. NOT EXISTS๋ ์ด์ ๋ฐ๋๋ก ๋์ํฉ๋๋ค.
๐โ์ปดํจํฐ๊ณผํ๊ณผโ์์ ํ์ ์ค ์๊ฐ์ ์ฒญ์ ํ์ง ์์ ํ์์ ํ์๋ฒํธ๋ฅผ ๊ฒ์ํ์์ค.
1
2
3
4
5
6
SELECT A.ํ์๋ฒํธ
FROM ์ ๊ณต AS A
WHERE ํ๊ณผ์ด๋ฆ = '์ปดํจํฐ๊ณผํ๊ณผ' AND
NOT EXISTS (SELECT ํ์๋ฒํธ
FROM ์๊ฐ AS B
WHERE A.ํ์๋ฒํธ = B.ํ์๋ฒํธ)
๐์กฐ์ธ ์ฐ์ฐ์ ์ด์ฉํ SELECT ๋ฌธ
์กฐ์ธ ์ง์๋ ๋ ๊ฐ ์ด์์ ํ ์ด๋ธ์์ ํ ์ด๋ธ ๊ฐ์ ๊ด๋ จ์ฑ์ ์ด์ํ์ฌ ์์์ ์ผ๋ก ๋ ์ฝ๋๋ฅผ ํตํฉํ ํ ํ๋์ ํ ์ด๋ธ๋ก ๊ฒฐ๊ณผ๋ฅผ ๋ง๋ค์ด ๋ด๋ ์ง์๊ธฐ๋ฒ์ ๋งํฉ๋๋ค.
- ํฌ๋ก์ค ์กฐ์ธ
ํฌ๋ก์ค ์กฐ์ธ์ ๋ ์ฝ๋๋ฅผ ๊ฒฐํฉํ๋ ์กฐ๊ฑด ์์ด ๋ชจ๋ ์กฐํฉ์ ๋ ์ฝ๋๋ฅผ ๊ฒฐํฉํ๋ ์ฐ์ฐ์ ๋๋ค. ๊ด๊ณ ๋์์ ์นดํฐ์ ํ๋ก๋ํธ์ ๋์ผํฉ๋๋ค.
1
2
3
4
SELECT ์ปฌ๋ผ1, ์ปฌ๋ผ2, ..., ์ปฌ๋ผn
FROM ํ
์ด๋ธ1, CROSS JOIN ํ
์ด๋ธ2
[... CROSS JOIN ํ
์ด๋ธm]
WHERE ์กฐ๊ฑด
๐30์ธ ์ด์์ธ ํ์๊ณผ ๋ชจ๋ ๊ณ์ข์ ๋ํด ํฌ๋ก์ค ์กฐ์ธํ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ์์ค.
1
2
3
SELECT ํ์.*, ๊ณ์ข.*
FROM ํ์ CROSS JOIN ๊ณ์ข
WHERE ํ์.๋์ด >= 30
- ๋ด๋ถ ์กฐ์ธ
๋ ๊ฐ ์ด์์ ํ ์ด๋ธ์์ ์กฐ์ธ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๋ ์ฝ๋ ๋ง ๊ฒฐํฉํ์ฌ ์ถ๋ ฅ ๊ฒฐ๊ณผ์ ํฌํจ์ํค๋ ์ฐ์ฐ์ ๋๋ค. ์กฐ์ธ ์กฐ๊ฑด์ WHERE ์ ์ด ์๋ ON ์ ์ ๊ธฐ๋กํฉ๋๋ค.
1
2
3
4
SELECT ์ปฌ๋ผ1, ์ปฌ๋ผ2, ..., ์ปฌ๋ผn
FROM ํ
์ด๋ธ1, INNER JOIN ํ
์ด๋ธ2
ON ์กฐ์ธ์กฐ๊ฑด1
[WHERE ์กฐ๊ฑด]
๐30์ธ ์ด์์ธ ํ์์ ํ์์ด๋ฆ๊ณผ ๋์ด, ๊ทธ๋ฆฌ๊ณ ๊ทธ ํ์์ด ์์ ํ ๊ณ์ข์ ๊ณ์ข๋ฒํธ, ์์ก์ ์ถ๋ ฅํ์์ค.
1
2
3
4
5
SELECT ํ์.ํ์์ด๋ฆ, ํ์.๋์ด
๊ณ์ข.๊ณ์ข๋ฒํธ, ๊ณ์ข.์์ก
FROM ํ์ INNER JOIN ๊ณ์ข
ON ํ์.ํ์๋ฒํธ = ๊ณ์ข.ํ์๋ฒํธ
WHERE ํ์.๋์ด >= 30
๐กOracle ์ฌ์ ๊ตฌ๋ฌธ ํ์
1
2
3
SELECT ์ปฌ๋ผ1, ์ปฌ๋ผ2, ..., ์ปฌ๋ผn
FROM ํ
์ด๋ธ1, ํ
์ด๋ธ2, [... ํ
์ด๋ธ์ด๋ฆm]
WHERE ์กฐ๊ฑด AND ์กฐ์ธ์กฐ๊ฑด1 [... AND ์กฐ์ธ์กฐ๊ฑดp]
- ์์ฐ ์กฐ์ธ
๋ ๊ฐ ์ด์์ ํ ์ด๋ธ์ ํ๋์ ํ ์ด๋ธ๋ก ๊ฒฐํฉํ๋ ๋ด๋ถ ์กฐ์ธ๊ณผ ๋งค์ฐ ์ ์ฌํฉ๋๋ค. ๋ ํ ์ด๋ธ์ ๋์ผํ ์ด๋ฆ์ ์ปฌ๋ผ์ ๋ํ ๊ฐ์ด ๊ฐ์ ๋ ์ฝ๋๋ฅผ ๊ฒฐํฉํ๋ ๋ด๋ถ ์กฐ์ธ์ ๋๋ค.
1
2
3
SELECT ์ปฌ๋ผ1, ์ปฌ๋ผ2, ..., ์ปฌ๋ผn
FROM ํ
์ด๋ธ1 NATURAL JOIN ํ
์ด๋ธ2
[WHERE ์กฐ๊ฑด]
-
์ธ๋ถ ์กฐ์ธ
๋ด๋ถ ์กฐ์ธ์ ์กฐ์ธ์กฐ๊ฑด์ ์ผ์นํ๋ ๋ ์ฝ๋๋ง ๊ฒฐํฉํ์ฌ ๊ฒฐ๊ณผ๋ฅผ ์์ฑํฉ๋๋ค. ๋ฐ๋ผ์ ์กฐ์ธ ๊ฒฐ๊ณผ์ ์ ๋ณด์ ์์ค์ด ๋ฐ์ํฉ๋๋ค. ํ์ง๋ง ์ธ๋ถ ์กฐ์ธ์ ์กฐ์ธ์กฐ๊ฑด์ ๋ง์ง ์๋ ๋ ์ฝ๋๋ ์ง์์ ๊ฒฐ๊ณผ์ ํฌํจ์ํค๋ ์ง์์ ๋๋ค.- ์ผ์ชฝ ์ธ๋ถ ์กฐ์ธ
- ์ค๋ฅธ์ชฝ ์ธ๋ถ ์กฐ์ธ
- ์์ ์ธ๋ถ ์กฐ์ธ
1
2
3
4
SELECT ์ปฌ๋ผ1, ์ปฌ๋ผ2, ..., ์ปฌ๋ผn
FROM ํ
์ด๋ธ1 LEFT|RIGHT[OUTER] JOIN ํ
์ด๋ธ2
ON ํ
์ด๋ธ์ด๋ฆ1.์ปฌ๋ผ = ํ
์ด๋ธ์ด๋ฆ.์ปฌ๋ผ
[WHERE ์กฐ๊ฑด]
๐ํ์์ ํ์๋ฒํธ, ํ์์ด๋ฆ๊ณผ ๊ทธ ํ์์ด ์๊ฐ์ ์ฒญํ ๊ณผ๋ชฉ์ ๊ณผ๋ชฉ์ฝ๋, ์ ์ฒญ์๊ฐ์ ์ถ๋ ฅํ์์ค.(๋จ, ์๊ฐ์ ์ฒญ์ ํ์ง ์์ ํ์๋ ๊ฒฐ๊ณผ์ ํฌํจ์ํค๊ณ ๊ณผ๋ชฉ์ฝ๋๋ฅผ ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌํ๋ค.)
1
2
3
4
SELECT A.ํ์๋ฒํธ, A.ํ์์ด๋ฆ, B.๊ณผ๋ชฉ์ฝ๋, B.์ ์ฒญ์๊ฐ
FROM ํ์ AS A LEFT OUTER JOIN ๊ณ์ข AS B
ON A.ํ์๋ฒํธ = B.ํ์๋ฒํธ
ORDER BY ๊ณผ๋ชฉ ์ฝ๋ ASC
- ์
ํ ์กฐ์ธ
์ ํ ์กฐ์ธ์ ํ ํ ์ด๋ธ์ด ์๊ธฐ ์์ ๊ณผ ์กฐ์ธ๋๋ ๊ฒ์ ๋งํฉ๋๋ค. ๋์ผํ ์ด๋ฆ์ ํ ์ด๋ธ์ ๋ํ ์กฐ์ธ์ด๋ฏ๋ก ๋ฐ๋์ ํ ์ด๋ธ ์ด๋ฆ์ ๋ํ ๋ณ์นญ์ด ์๋ฌด์ ์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค.
1
2
3
4
5
SELECT ๋ณ์นญ1.์ปฌ๋ผ1, ๋ณ์นญ1.์ปฌ๋ผ2, ..., ๋ณ์นญ1.์ปฌ๋ผn,
๋ณ์นญ2.์ปฌ๋ผ1, ๋ณ์นญ2.์ปฌ๋ผ2, ..., ๋ณ์นญ2.์ปฌ๋ผm
FROM ํ
์ด๋ธ1 AS ๋ณ์นญ1 INNER|OUTER JOIN ํ
์ด๋ธ2 AS ๋ณ์นญ2
ON ์กฐ์ธ์กฐ๊ฑด
[WHERE ์ ]
๐๋ทฐ์ ์ฌ์ฉ
๋ทฐ๋ ํ๋ ์ด์์ ์๋ณธ ํ ์ด๋ธ๋ก๋ถํฐ ์ ๋๋์ด ์ผ๋ฐ ํ ์ด๋ธ์ฒ๋ผ ์กฐ์ํ ์ ์๋ ๊ฐ์ ํ ์ด๋ธ์ ๋๋ค. ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ ์ฅ๋์ง ์๊ณ ๋ฐ์ดํฐ ์ฌ์ ์ ๋ทฐ์๋ํ ์ ์๋ง ์ ์ฅ๋ฉ๋๋ค.
-
๋ฐ์ดํฐ ๋ ๋ฆฝ์ฑ: ์๋ณธ ํ ์ด๋ธ์ ๊ตฌ์กฐ๊ฐ ๋ฐ๋์ด๋ ๋ทฐ๋ฅผ ์ด์ฉํ ์์ ์ ์ ์๋ง ๋ณ๊ฒฝ๋์ด ์์ฉํ๋ก๊ทธ๋จ์ ์ํฅ์ด ์์
-
๋ฐ์ดํฐ ๋ณด์: ์ฌ์ฉ์์๊ฒ ์๋ณธ ํ ์ด๋ธ์ ์ผ๋ถ ์ปฌ๋ผ์ ๋ํ ์ ๊ทผ์ ํ์ฉํ์ฌ ๋ณด์ ํจ๊ณผ ํฅ์
-
๋ค์ํ ๊ตฌ์กฐ์ ํ ์ด๋ธ ์ฌ์ฉ: ์ฌ์ฉ์์ ์๊ตฌ์ฌํญ์ ๋ง๋ ํ ์ด๋ธ์ ๊ตฌ์กฐ ์ ๊ณต
-
์์ ์ ๋จ์ํ: ๋ณต์กํ ์ง์๋ฌธ์ ๋ทฐ๋ก ๋จ์ํ
-
๋ฐ์ดํฐ์ ๋ฌด๊ฒฐ์ฑ: WITH CHECK OPTION์ ์ด์ฉํ์ฌ ๋ทฐ ์์ฑ์ ์๋ฐฐ๋๋ ์์ ์์ ์ ๊ฑฐ๋ถ
๐๋ทฐ์ ์์ฑ
SELECT ๋ฌธ์ผ๋ก ๊ฒ์๋ ์ ์๋ ์ด๋ค ํ ์ด๋ธ๋ ๋ทฐ๋ก ์ ์ํ ์ ์์ต๋๋ค. ์ฆ, ์์ฑ๋๋ ๋ทฐ์ ๊ตฌ์กฐ๋ SELECT ๋ฌธ์ ๊ฒฐ๊ณผ๋ก ๊ฒฐ์ ๋ฉ๋๋ค.
1
2
3
4
5
CREATE VIEW ๋ทฐ์ด๋ฆ AS
(SELECT ์ปฌ๋ผ1, ์ปฌ๋ผ2, ..., ์ปฌ๋ผn
FROM ํ
์ด๋ธ
[WHERE ์กฐ๊ฑด])
[WITH CHECK OPTION]
๐๋ทฐ์ ์์
ALTER VIEW๋ฅผ ์ด์ฉํด ์์ฑ๋ ๋ทฐ๋ฅผ ์์ ํ ์ ์์ต๋๋ค.
1
2
3
4
ALTER VIEW ๊ธฐ์กด๋ทฐ์ด๋ฆ(์ปฌ๋ผ1, ์ปฌ๋ผ2, ... ์ปฌ๋ผn) AS
( SELECT ์ปฌ๋ผ1, ์ปฌ๋ผ2, ..., ์ปฌ๋ผn
[FROM ํ
์ด๋ธ]
[WHERE ์กฐ๊ฑด] )
๐๋ทฐ์ ์ญ์
DROP VIEW ๋ฌธ์ ์ฌ์ฉํด ํ์์๋ ๋ทฐ๋ฅผ ์ญ์ ํ ์ ์์ต๋๋ค. ์ญ์ ๋ ๋ทฐ๋ฅผ ๊ทผ๊ฑฐ๋ก ์์ฑ๋ ๋ค๋ฅธ ๋ทฐ ๋ํ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ทฐ๋ฅผ ์ญ์ ํด๋ ๋ทฐ์ ๊ทผ๊ฑฐ๊ฐ ๋๋ ์ค์ ๋ฌผ๋ฆฌ์ ์ธ ํ ์ด๋ธ์ ์๋ฌด๋ฐ ์ํฅ์ ๋ฐ์ง ์์ต๋๋ค.
1
DROP VIEW ๋ทฐ์ด๋ฆ
๐๋ทฐ์ ๊ด๋ จ๋ ๋ฐ์ดํฐ ์กฐ์
๋ทฐ๋ ๊ฐ์์ ํ ์ด๋ธ์ด๊ธฐ ๋๋ฌธ์ ๋ทฐ์ ๊ด๋ จ๋ ๋์์ ํ ์ด๋ธ ์กฐ์๊ณผ ๋ถ๋ถ์ ์ ๋์ผํ๊ฒ ์ํํ ์ ์์ต๋๋ค. ํ์ง๋ง ๋ทฐ์ ๋ํ INSERT ๋ฌธ์ ํ ์ด๋ธ์์์ ๋ค๋ฆ ๋๋ค. ๋ทฐ๊ฐ ์๋ณธ ํ ์ด๋ธ์์ NOT NULL๋ก ์ ์๋ ์ปฌ๋ผ์ ๋ํ ์ ์ฝ์กฐ๊ฑด์ ๊ฐ์ถ๊ณ ์์ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
- ๋ทฐ๋ฅผ ์ด์ฉํ ๋ฐ์ดํฐ ๊ฒ์
๋ทฐ๋ฅผ ์ด์ฉํ ๋ฐ์ดํฐ ๊ฒ์์ ํ ์ด๋ธ์์ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ๋ ๋ฐฉ๋ฒ๊ณผ ๋์ผํฉ๋๋ค. ํ์ง๋ง ๊ธฐ๋ณธ ํ ์ด๋ธ์๋ ์กด์ฌํ์ง๋ง ๋ทฐ ์ ์์์ ์ ์ธ๋ ์ปฌ๋ผ์ ์ ๋ณด๋ ๊ฒ์์ด ๋ถ๊ฐ๋ฅํฉ๋๋ค.
1
2
SELECT * FROM ๋ทฐ์ด๋ฆ
WHERE ์กฐ๊ฑด
- ๋ทฐ๋ฅผ ์ด์ฉํ ๋ฐ์ดํฐ ์ฝ์
๋ทฐ๋ฅผ ์ด์ฉํ ๋ฐ์ดํฐ ์ฝ์ ์ INSERT ๋ฌธ์ด ๋ทฐ๊ฐ ์๋ ์๋ณธ ํ ์ด๋ธ์์ ์คํ๋์ด ์ฝ์ ์ด ์ด๋ฃจ์ด์ง๋๋ค.
๋ทฐ๋ฅผ ์ด์ฉํ ๋ฐ์ดํฐ ์ฝ์ ์ ์ ์ฌํญ์ ๋๋ค.
-
PRIMARY KEY, NOT NULL ๋ฑ์ ์ ์ฝ์ฌํญ์ด ์๋ฐฐ๋๋ ๊ฒฝ์ฐ ์ฝ์ ์ด ๋ถ๊ฐ๋ฅ
-
์๋ณธ ํ ์ด๋ธ์ ์กด์ฌํ๋ ์ปฌ๋ผ์ด์ง๋ง ๋ทฐ์๋ ์๋ ์ปฌ๋ผ์ ์ฝ์ ํ๋ ๊ฒฝ์ฐ ์คํ ๋ถ๊ฐ๋ฅ
-
์กฐ์ธ ์ง์ ๋๋ ๊ทธ๋ฃน ์ง์๊ฐ ์ ์ฉ๋ ๋ทฐ๋ ๋ฐ์ดํฐ ์ฝ์ ๋ฐ ์์ ์ด ๋ถ๊ฐ๋ฅ
-
WITH CHECK OPTION์ด ์ ์ฉ๋ ๋ทฐ๋ ์๋ฐฐ๋๋ ์ฌํญ์ ์์ง๋ง ๋ทฐ์ ๋ง์ง ์๋ ์กฐ๊ฑด์ผ ๊ฒฝ์ฐ ์คํ ๋ถ๊ฐ๋ฅ
Leave a comment