
์ฐ๋ฆฌ๋ ๋งค์ผ ๋ค์ํ ์ ๋ณด๋ฅผ ์ ์ฅํ๊ณ , ๊บผ๋ด๊ณ , ๊ด๋ฆฌํฉ๋๋ค. ์ด๋ฐ ์ ๋ณด๋ค์ ์ฒด๊ณ์ ์ผ๋ก ๋ค๋ฃจ๊ธฐ ์ํด ํ์ํ ๊ฒ์ด ๋ฐ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค(Database) ์ ๋๋ค. ๐ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋? ๋ฐ์ดํฐ๋ฒ ์ด์ค(Database) ๋ > "์ฌ๋ฌ ์ฌ๋๋ค์ด ๊ณต์ ํ๊ณ ์ฌ์ฉํ ๋ชฉ์ ์ผ๋ก ํตํฉํ์ฌ ์

๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค(Relational Database)์ ํต์ฌ ๊ฐ๋ ์ธ ๊ด๊ณ ๋์(Relational Algebra)์ ๊ทธ ์ ์ ๊ฐ๋ ๋ค์ ์ ๋ฆฌ

SQL์์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ๋ฌธ๋ฒ, SELECT๋ฌธ ์ ๋ฆฌ

WHERE ์ ์ SQL์์ ๋ฐ์ดํฐ๋ฅผ ํํฐ๋งํ ๋ ์ฌ์ฉํ๋ ํต์ฌ ๋ฌธ๋ฒ"์ด๋ค ํ(Row)์ ๊ฐ์ ธ์ฌ๊น?"๋ฅผ ๊ฒฐ์ ํ๋ ์ค์ํ ์ญํ ์ ํ๋ค. ์ด where ์ ์ ๋ํด ์์๋ณด์.

SQL์์ ์ ๋ ฌ์ ORDER BY ์ ์ ์ฌ์ฉํด์ ์ฒ๋ฆฌํฉ๋๋ค. ORDER BY๋ SELECT ๊ฒฐ๊ณผ๋ฅผ ํน์ ์ปฌ๋ผ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ ๋ ์ฌ์ฉํ๋ ์ ์ ๋๋ค. ORDER BY์ ์ ์ฌ์ฉ์ ๋ํด ์์๋ด ์๋ค!

๋ฐ์ดํฐ๊ฐ ๋ง์์๋ก ์ ์ฒด ๋ด์ฉ์ ์์ฝํด์ ํ์ ํ๋ ๊ฒ ์ค์ํฉ๋๋ค. ์ด๋ด ๋ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ฐ๋ก ์ง๊ณ ํจ์(Aggregation Functions)! ์ง๊ณํจ์์ ๋ํด ์์๋ด ์๋ค.

SQL์์ ๋ฐ์ดํฐ๋ฅผ ์ง๊ณํ ๋ ๊ผญ ๋ฑ์ฅํ๋ ๋ ์น๊ตฌ, GROUP BY ์ HAVING. ์ด ๋์ ํจ๊ป ์ฐ์ด์ง๋ง, ์ญํ ์ด ์์ ํ ๋ค๋ฆ ๋๋ค.์ด๋ฒ ๊ธ์์๋ ๋ ๋ฌธ๋ฒ์ ์์๋ด ์๋ค.

๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฐ์ฅ ํฐ ์ฅ์ ์ ํ ์ด๋ธ์ ๋๋ ์ค๊ณํ๊ณ ,ํ์ํ ๋ ์กฐ์ธ(JOIN) ์ผ๋ก ์ฐ๊ฒฐํด ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ฌ ์ ์๋ค๋ ๊ฒ!์ด๋ฒ ๊ธ์์๋ INNER JOIN, OUTER JOIN, NATURAL JOIN ๋ฑ์ ๊ฐ๋ ์ ์ ๋ฆฌํด๋ณด๊ฒ ์ต๋๋ค.

์๋ธ์ฟผ๋ฆฌ๋ SQL ์ฟผ๋ฆฌ ์์ ๋ ๋ค๋ฅธ ์ฟผ๋ฆฌ๊ฐ ๋ค์ด์๋ ํํ๋ฅผ ๋งํฉ๋๋ค. '์ฟผ๋ฆฌ ์์ ์ฟผ๋ฆฌ'๋ก, ๋ณต์กํ ์กฐ๊ฑด์ด๋ ๊ณ์ฐ์ ๊น๋ํ๊ฒ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค. ์๋ธ์ฟผ๋ฆฌ(Subquery) ๋๋ค๋ฅธ SQL ๋ฌธ์ฅ ์์์ ์ฌ์ฉ๋๋ ํ์ SELECT ๋ฌธ์ ๋งํฉ๋๋ค.๋ณดํต WHERE, FROM

SQL์ ๋จ์ํ ํ ์ด๋ธ์์ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๋ ๊ฒ๋ฟ๋ง ์๋๋ผ,์ฌ๋ฌ ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ์กฐํฉํ๊ฑฐ๋ ๋น๊ตํ๋ ๊ฒ๋ ๊ฐ๋ฅํฉ๋๋ค. ์ด๋ฒ ๊ธ์์๋ SQL์ ์งํฉ ์ฐ์ฐ์๋ค์ ์ ๋ฆฌํด๋ณด๊ฒ ์ต๋๋ค.

๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ค๋ฉด ๋จผ์ ๊ทธ๋ฆ(ํ ์ด๋ธ)์ ๋ง๋ค์ด์ผ๊ฒ ์ฃ ?์ด๋ฒ ๊ธ์์๋ SQL์์ ํ ์ด๋ธ์ ์์ฑ(CREATE)ํ๋ ๋ฐฉ๋ฒ๊ณผ,์ ์ฝ ์กฐ๊ฑด(Constraint)์ ํตํด ๋ฐ์ดํฐ๋ฅผ ์์ ํ๊ฒ ๊ด๋ฆฌํ๋ ๋ฒ์ ์ ๋ฆฌํด๋ณด๊ฒ ์ต๋๋ค! ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ธฐ ์ํด์๋ ํ ์ด๋ธ์ ๋ง๋ค์ด์ผ ํฉ๋๋ค. ๐ ์

์ด๋ฏธ ๋ง๋ค์ด์ง ํ ์ด๋ธ์ ์์ , ์ญ์ ํ๊ฑฐ๋๊ทธ ์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ , ์์ , ์ญ์ ํ๋ ๋ฐฉ๋ฒ์ ์ ๋ฆฌํด๋ณด๊ฒ ์ต๋๋ค. (ALTER, DROP, INSERT, UPDATE, DELETE)