SELECT๋ฌธ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋์ด ์๋ ๋ฐ์ดํฐ๋ฅผ ์ฉ๋์ ๋ง๊ฒ ์กฐํํ๋๋ฐ ์ฌ์ฉํ๋ค.
SELECT๋ฌธ์ ๋ํด์ ์์๋ณด์.
๋ฐ์ดํฐ๋ฅผ ์กฐํํ๋ 3๊ฐ์ง ๋ฐฉ๋ฒ - ์ ๋ ์ , ํ๋ก์ ์ , ์กฐ์ธ
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ณด๊ด๋์ด ์๋ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๋ ๋ฐ ์ฌ์ฉํ๋ SELECT๋ฌธ์ ์ถ๋ ฅ ๋ฐ์ดํฐ๋ฅผ ์ ์ ํ๋ ๋ฐฉ์์ ๋ฐ๋ผ ํฌ๊ฒ 3๊ฐ์ง๋ก ๋๋๋ค.
ํ ๋จ์๋ก ์กฐํํ๋ ์ ๋ ์
์ ๋ ์ (Selection)์ ํ ๋จ์๋ก ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๋ ๋ฐฉ์์ด๋ค.
ํ ์ด๋ธ ์ ์ฒด ๋ฐ์ดํฐ ์ค ๋ช๋ช ๊ฐ๋ก์ค์ ๋ฐ์ดํฐ๋ง ์ ํํ ๋ ์ฌ์ฉํ๋ค.
์๋ฅผ ๋ค์ด ๋ํ์ ํ ์ด๋ธ์์ ์ ๋ ฅ์ ์ ์ฌ์ฉํ๋ค๋ฉด, ์ ์ฒด ๋ํ์๋ค ์ค, ์ปดํจํฐ๊ณตํ๊ณผ์ ์ฌํ์ค์ธ ํ์๋ค์ ๋ฐ์ดํฐ๋ง ๊ณจ๋ผ์ ์ถ๋ ฅํ ์ ์๋ค.
์ด ๋จ์๋ก ์กฐํํ๋ ํ๋ก์ ์
ํ๋ก์ ์ (Projection)์ ์ด ๋จ์๋ก ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๋ ๋ฐฉ์์ด๋ค.
์๋ฅผ ๋ค์ด ๋ํ์ ํ ์ด๋ธ์ ๊ตฌ์ฑํ๋ ์ ์ฒด ํญ๋ชฉ(์ด) ์ค ํ๋ฒ๊ณผ ์ด๋ฆ, ํ๊ณผ ์ฝ๋๋ง์ ์กฐํํ ๋ ํ๋ก์ ์ ์ ์ฌ์ฉํ๋ค.
+ ์ ๋ ์ ๊ณผ ํ๋ก์ ์ ํจ๊ป ์ฌ์ฉํ๊ธฐ
ํน์ ํ ์ด๋ธ์์ ์กฐํํ๋ ค๋ ํ๊ณผ ์ด์ ๋ชจ๋ ์ ๋ณํ ๋ ์ ๋ ์ ๊ณผ ํ๋ก์ ์ ์ ํจ๊ป ์ฌ์ฉํ ์ ์๋ค.
์๋ฅผ ๋ค์ด, ์ ์ฒด ๋ํ์๋ค ์ค ์ปดํจํฐ ๊ณตํ๊ณผ ํ์๋ค์ ํ๋ฒ๊ณผ ์ด๋ฆ๋ง์ ์ถ์ถํ๋ ๊ฒฝ์ฐ, ์ ๋ ์ ๊ณผ ํ๋ก์ ์ ์ ํจ๊ป ์ฌ์ฉํ์ฌ ์์ธํ ๋ฐ์ดํฐ ์กฐํ๋ฅผ ํ ์ ์๋ค.
๋ ๊ฐ ์ด์์ ํ ์ด๋ธ์ ์ฌ์ฉํ์ฌ ์กฐํํ๋ ์กฐ์ธ
์กฐ์ธ(Join)์ ๋ ๊ฐ ์ด์์ ํ ์ด๋ธ์ ์ ์์ ์ฐ๊ฒฐํ์ฌ ๋ง์น ํ๋์ ํ ์ด๋ธ์ธ ๊ฒ์ฒ๋ผ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๋ ๋ฐฉ๋ฒ์ด๋ค.
์กฐ์ธ์ ์ฌ์ฉํ ๋๋ ์ฃผ๋ก ์ธ๋ ํค(FK)๋ฅผ ์ฌ์ฉํ๋ ๋ฐ, ์กฐ์ธ์ ๋ค์ํ ์ฌ์ฉ ๋ฐฉ๋ฒ์ ๋ํด์๋ ์กฐ๊ธ ๋์ค์ ์์๋ณด๋๋ก ํ์.
SELECT์ ๊ณผ FROM์
SELECT๋ฌธ์ SELECT์ ๊ณผ FROM์ ์ ๊ธฐ๋ณธ ๊ตฌ์ฑ์ผ๋ก ์์ฑ๋๋๋ฐ, FROM์ ์ ์กฐํํ ๋ฐ์ดํฐ๊ธฐ ์ ์ฅ๋ ํ ์ด๋ธ ์ด๋ฆ์ ๋ช ์ํ๋ค.
๊ทธ๋ฆฌ๊ณ SELECT์ ์ FROM์ ์ ๋ช ์ํ ํ ์ด๋ธ์์ ์กฐํํ ์ด์ด๋ ์ฌ๋ฌ ์ด์ ์ ์ฅ๋ ๋ฐ์ดํฐ์ ์กฐํฉ ๋๋ ์ฐ์ฐ์์ ์ง์ ํ ์ ์๋ค.
SELECT [์กฐํํ ์ด1 ์ด๋ฆ], [์ด2 ์ด๋ฆ], ...
FROM [์กฐํํ ํ ์ด๋ธ ์ด๋ฆ];
(์์: SELECT NAME, AGE FROM STUDENT; => ํ์ ํ ์ด๋ธ์์ ์ด๋ฆ๊ณผ ๋์ด๋ง ์กฐํ)
ํค์๋ | ํ์ ์์ | ์ค๋ช |
SELECT | ์กฐํํ ์ด ์ด๋ฆ ๋๋ ์ถ๋ ฅํ ๋ฐ์ดํฐ๋ฅผ ํ๋ ์ด์ ์ง์ ๋๋ ์ ์ค๋๋ฆฌ์คํฌ(*)๋ก ์ ์ฒด ์ด์ ์ง์ | SELECT์ , ์กฐํํ ์ด์ ์ง์ ํจ |
FROM | ์กฐํํ ํ ์ด๋ธ ์ด๋ฆ | FROM์ , ์กฐํํ ํ ์ด๋ธ์ ์ง์ ํจ |
*๋ก ์ ์ฒด ์ด ์ถ๋ ฅํ๊ธฐ
SELECT * FROM STUDENT;
ํ ์ด๋ธ ๋ถ๋ถ ์ด ์ถ๋ ฅํ๊ธฐ
STUDENT ํ ์ด๋ธ์์ ํ์ ๋ฒํธ, ์ด๋ฆ, ํ์์ ๋์ด๋ง ์กฐํํ๊ณ ์ถ๋ค๋ฉด ์ด๋ป๊ฒ ํ ๊น?
๊ทธ ๋ฐฉ๋ฒ์ ์์๋ณด์.
SELECT STUDENT_NO, NAME, AGE
FROM STUDENT;
(์ฐธ๊ณ ๋ก SELECT๋ฌธ์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ถ๋ ฅ๋๋ ๋ฐ์ดํฐ์ ์ ๋ ฌ ์์๋ฅผ ๋ณด์ฅํ์ง ์๊ธฐ ๋๋ฌธ์ ์คํ ๊ฒฐ๊ณผ๊ฐ ๋งค๋ฒ ๊ฐ์ง ์์ ์๋ ์๋ค.)
TIP - ๋์ด์ฐ๊ธฐ์ ์ค ๋ฐ๊ฟ์ ์ ๊ทน ์ฌ์ฉํ์!
๋ฐ์ดํฐ๋ฅผ ์ ์ธํ SQL๋ฌธ์ ๋์ด์ฐ๊ธฐ์ ์ค ๋ฐ๊ฟ์ ๋ช ๋ น ์ํ์ ์ํฅ์ ์ฃผ์ง ์๋๋ค. SQL๋ฌธ์ด ์ง๊ธ์ฒ๋ผ ๊ฐ๊ฒฐํ๋ค๋ฉด ์๊ด์๊ฒ ์ง๋ง, ์ค์ ๋ก ์ฌ์ฉํ๋ค๋ณด๋ฉด ์ ๋ง ๋ณต์กํ๊ณ ๊ธด SQL๋ฌธ์ ๋ค๋ฃจ๊ฒ ๋๋ค. ๋ฐ๋ผ์ ๋์ด์ฐ๊ธฐ์ ์ค ๋ฐ๊ฟ์ ์ ๊ทน ํ์ฉํ์ฌ ์ฝ๊ธฐ ํธํ SQL๋ฌธ์ ์์ฑํ๋๋ก ๋ ธ๋ ฅํ์.