.png)
SQL์ ๊ด๊ณํ ๋ฐ์ดํฐ ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ (RDBMS, Relational Database Management System)์ ์กฐ์ ํ ๋ ์ฌ์ฉํ๋ ์ธ์ด์ด๋ค.ํ๊ณผ ์ด์ ๊ฐ์ง๋ ํ ํ์ ๋ฐ์ดํฐ(2์ฐจ์ ๋ฐ์ดํฐ)๋ฅผ ์ ์ฅํ๋ ํํ์ DBํ(๋ ์ฝ๋), ์ด(์ปฌ๋ผ/ํ๋), ์ (ํ
.png)
์งํฉ ์ฐ์ฐ์๋ ์กฐํ(SELECT) ์ฟผ๋ฆฌ์ ๊ฒฐ๊ณผ๋ฅผ ๋์์ผ๋ก ์ฐ์ฐ์ ์ํํ๋ ์ฐ์ฐ์.UNION, UNION ALL, MINUS, INSERTSECT ๋ฑ์ด ์๋ค.์กฐํ์ ๊ฒฐ๊ณผ๋ฅผ ๋์์ผ๋ก ์ฐ์ฐ์ ์ํํ๋ฏ๋ก, ์ฌ๋ฌ ๊ฐ์ SELECT๋ฌธ์ ํ๋์ ์ฟผ๋ฆฌ๋ก ๋ง๋๋ ์ฐ์ฐ์ ์ด๋ค.UNION
.png)
ํ ์ด๋ธ์ ์ ์ฒด ํ์ ํ๋ ์ด์์ ์ปฌ๋ผ์ ๊ธฐ์ค์ผ๋ก ์ปฌ๋ผ ๊ฐ์ ๋ฐ๋ผ ๊ทธ๋ฃนํํ์ฌ ๊ทธ๋ฃน๋ณ๋ก ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ ํจ์์ด๋ค.๊ทธ๋ฃนํจ์์ ์ข ๋ฅ๋ COUNT, MAX, MIN, SUM, AVG, STDDEV, VARIANCE ๋ฑ์ด ์๋ค.ํ ์ด๋ธ์์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ํ์ ๊ฐ์๋ฅผ ๋ฐํํ๋ ํจ์
.png)
ํ๋์ ROW ๋น ํ๋์ ๊ฒฐ๊ณผ๊ฐ์ ๋ฆฌํดํ๋ ํจ์๋ฌธ์์ด๋ก ๊ตฌ์ฑ๋์ด ์๋ ํจ์์ ์ฌ์ฉํ ์ ์๋ ํจ์ ์ํ๋ ๋ฌธ์๋ฅผ ์ถ์ถํ๋ ๋ชฉ์ , ๋ฌธ์์ด์ ์ผ๋ถ ๋ฐ์ดํฐ๋ง ํ์ํ ๊ฒฝ์ฐ ์ฌ์ฉํ๋ค.์ด๋ค ํน์ ์์น ์ ๊น์ง,ํน์ ์์น ๋ถํฐ ๋ฌธ์๋ค์ ์ถ์ถํ ๋ชฉ์ ์ผ๋ก ์ฌ์ฉํ๋ค.๋ฌธ์์ด ์, ํน์ ๋ค
.png)
๋ฐ์ดํฐ์ ์ ํ์ฑ๊ณผ ์ผ๊ด์ฑ์ ๋ณด์ฅํ๊ธฐ ์ํด ๊ฐ ์ปฌ๋ผ์ ์ ์ํ๋ ๊ท์น๋ฐ์ดํฐ ์ถ๊ฐ, ์์ , ์ญ์ ํ๋ ๊ฐ์ด๋ฐ DB์ ๋ฌด๊ฒฐ์ฑ์ ์ ์ง(๋ณด์ฅ)'ํ์ ์ ๋ ฅ ์ฌํญ'์ ์๋ฏธ์ฆ, NULL ๊ฐ์ ํ์ฉ ํ์ง ์๊ฒ ๋ค๋ ์๋ฏธ์ด๋ค.ํ ์ด๋ธ ์์ฑ๊ณผ ๋์์ ํ๋ ๊ตฌ๋ฌธํ ์ด๋ธ ์์ฑํ ํ๋ ๊ตฌ๋ฌธ NOT NU
.png)
์กฐ์ธ(JOIN)์ ํตํด์ 2๊ฐ ์ด์์ ํ ์ด๋ธ์ ์ฐ๊ฒฐ ํ ์ ์๋ค.์กฐ์ธ์ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ธฐ๋ณธํค๋ ์ธ๋ถํค ๊ฐ์ ์ฐ๊ด์ ์ํด ์ฑ๋ฆฝ ๋์ง๋ง, ๋ ผ๋ฆฌ์ ์ธ ๊ฐ๋ค์ ์ฐ๊ด๋ง ์ผ๋ก๋ ์ฑ๋ฆฝํ ์ ์๋ค.Equi Join, Simple Join ์ด๋ผ๊ณ ๋ ํ๋ค.๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ์กฐ์ธ์ด๋ฉฐ, ํ ์ด๋ธ ๊ฐ์
.png)
ํ๋์ ์ฟผ๋ฆฌ ๋ฌธ์ฅ ๋ด์ ํฌํจ๋ ๋ ํ๋์ ์ฟผ๋ฆฌ๋ฌธ์ฅ.๋ฐ๋์ ๊ดํธ ์์ ๋ฃ์ด์ผ ํ๋ค.๋ฉ์ธ ์ฟผ๋ฆฌ๊ฐ ์คํ๋๊ธฐ ์ด์ ์ ํ ๋ฒ๋ง ์คํ๋๋ค.์๋ธ์ฟผ๋ฆฌ๋ฅผ ๊ฐ๊ฐ์ ์ด๋ ์์น์์ ์ฌ์ฉํ๋๋์ ๋ฐ๋ผ ๋๋์ด ์ง๋ค.์ค์นผ๋ผ ์๋ธ์ฟผ๋ฆฌ(Scalar Subqueries)๋ผ๊ณ ๋ถ๋ฆฌ๋ฉฐ SELECT์ ์์