๊ธฐ์
์ ํต์ฌ ๋น์ฆ๋์ค๋ฅผ ์ง์ํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ SQL Server์ ๊ฒฝ์ฐ ์๋นํ ๋ณต์กํ ์ฟผ๋ฆฌ๋ฌธ์ ์์ฑํด์ผ ํ๋ฉฐ, ์ด๋ ์ ๋ ์ฝ์ง ์์ ์ผ์
๋๋ค. ๊ฒฐ๊ตญ, ๊ธฐ๋ณธ์ ์ธ ์ฟผ๋ฆฌ๋ฌธ๋ถํฐ ๋ณต์กํ ์ฟผ๋ฆฌ๋ฌธ๊น์ง ์ฒด๊ณ์ ์ธ ํ์ต์ด ์๊ตฌ๋ ์๋ฐ์ ์์ต๋๋ค. ์ด๋ฌํ ํ์ค ์ํฉ์์ ๋ณธ ๊ณผ์ ์ด ํํํ ๋๋ค๋์ด ๋ ๊ฒ์
๋๋ค. ์๋
๊ฐ์ ๊ฐ์์ ํ๋ ์ปจ์คํ
๊ฒฝํ์ ๋ฐํ์ผ๋ก ์ฒด๊ณ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ จ ๊ฐ๋ฐ ๋ฅ๋ ฅ์ ํค์ธ ์ ์๋ ์ปค๋ฆฌํ๋ผ์ ์ค๋นํ์ผ๋ฉฐ, ํ์ฅ ๊ฒฝํ์ ๊ณต์ ํ์ฌ ์ค์ง์ ์ธ ๋์์ด ๋๋ ๊ฐ์๋ฅผ ์งํํ๊ฒ ๋ฉ๋๋ค.
ํ์ต ๋ชฉํ
โข
๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ค์ด์ด๊ทธ๋จ์ ์ฌ์ฉํด ํ
์ด๋ธ์ ์ดํดํ ์ ์์ต๋๋ค.
โข
๊ธฐ๋ณธ ์ฟผ๋ฆฌ๋ฌธ๊ณผ ์ง๊ณ ํจ์๋ฅผ ์ฌ์ฉํด ๊ธฐ๋ณธ์ ์ธ ๋ฐ์ดํฐ ๊ฒ์์ ํ ์ ์์ต๋๋ค.
โข
์กฐ์ธ๋ฌธ๊ณผ ํ์ ์ฟผ๋ฆฌ๋ฌธ์ ์ฌ์ฉํด ์ฌ๋ฌ ํ
์ด๋ธ ์์ ํ์ํ ์ ๋ณด๋ฅผ ๊ฒ์ํ ์ ์์ต๋๋ค.
โข
์ต์ ๋ฒ์ ์ ๋ค์ํ ํจ์์ ์ฟผ๋ฆฌ๋ฌธ์ ์ฌ์ฉํด ์ฌ๋ ์๋ ์ ๋ณด ๊ฒ์์ ํ ์ ์์ต๋๋ค.
โข
๋ทฐ, ์ ์ฅ ํ๋ก์์ , ํจ์๋ฅผ ๋ง๋ค์ด ์ฟผ๋ฆฌ๋ฌธ์ ๋ชจ๋ํํ๊ณ ์ฌ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ค๋ฃจ๋ ๋ด์ฉ
๊ธฐ๋ณธ ์ฟผ๋ฆฌ ์์ฑํ๊ธฐ
SQL์ ๊ธฐ์ด๋ฅผ ๋ค์ง๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ค์ด์ด๊ทธ๋จ์ ์ดํดํ๊ณ , SELECT ๋ฌธ์ ์์์ผ๋ก ๋ค์ํ ์ฐ์ฐ์, ๋ฒ์ ์กฐ๊ฑด, ๋ฆฌ์คํธ ์กฐ๊ฑด, NULL ๊ฐ ๋น๊ต ๋ฑ์ ํ์ตํฉ๋๋ค. ๋ํ ์ด ๋ณ์นญ, ์ด ๊ณ์ฐ, ์กฐํ ๊ฒฐ๊ณผ ์ ๋ ฌ ๋ฐฉ๋ฒ์ ๋ฐฐ์ฐ๊ณ , ๊ธฐ๋ณธ์ ์ธ INSERT, UPDATE, DELETE ๋ฌธ์ ์ตํ๋๋ค.
ํฅ์๋ ์ฟผ๋ฆฌ ์์ฑํ๊ธฐ
๊ธฐ๋ณธ ์ฟผ๋ฆฌ์์ ๋ ๋์๊ฐ ์ง๊ณ ํจ์, GROUP BY, HAVING ๋ฌธ ๋ฑ์ ์ฌ์ฉํ ๊ทธ๋ฃนํ์ ์ง๊ณ ์์
์ ํ์ตํฉ๋๋ค. IF โฆ ELSE, BEGIN โฆ END, WHILE ๋ฌธ์ ํตํด ์กฐ๊ฑด๋ฌธ๊ณผ ๋ฐ๋ณต๋ฌธ์ ์ตํ๋ฉฐ, RANK, DENSE_RANK, ROW_NUMBER, NTILE ํจ์๋ก ๋ฐ์ดํฐ ์์๋ฅผ ๋งค๊น๋๋ค. ๋ค์ํ JOIN ๋ฌธ๊ณผ ํ์ ์ฟผ๋ฆฌ, UNION, INTERSECT, EXCEPT ๋ฌธ์ ํ์ตํ์ฌ ๋ณต์กํ ๋ฐ์ดํฐ ์กฐ์์ ์ํํฉ๋๋ค.
์ค์ ํจ์ ์ฌ์ฉ
SQL์์ ์์ฃผ ์ฌ์ฉ๋๋ ๋ ์ง ํจ์์ ๋ฌธ์ ๊ด๋ จ ํจ์๋ฅผ ํ์ตํฉ๋๋ค. ์ด๋ฅผ ํตํด ๋ ์ง์ ๋ฌธ์์ด์ ํจ๊ณผ์ ์ผ๋ก ๋ค๋ฃจ๊ณ , ๋ฐ์ดํฐ์ ๋ค์ํ ํ์์ ์ฒ๋ฆฌํ๋ ๋ฅ๋ ฅ์ ํค์๋๋ค.
๊ณ ๊ธ ์ฟผ๋ฆฌ ์์ฑํ๊ธฐ
๊ณ ๊ธ ์ฟผ๋ฆฌ ์์ฑ ๊ธฐ์ ์ ์ต๋ํฉ๋๋ค. TOP (n) ๋ฌธ, CASE ๋ฌธ, CTE ๋ฌธ, MERGE ๋ฌธ, OUTPUT ๋ฌธ, APPLY ๋ฌธ, OVER ๋ฌธ, OFFSET FETCH ๋ฌธ, WITH RESULT SET ๋ฌธ์ ํ์ตํ์ฌ ๋ณต์กํ ๋ฐ์ดํฐ ์กฐ์ ๋ฐ ์กฐํ ์์
์ ์ํํฉ๋๋ค.
๊ณ ๊ธ ํจ์ ์ฌ์ฉ
SQL์ ๊ณ ๊ธ ํจ์๋ฅผ ์ตํ๋๋ค. EOMONTH, CHOOSE, IIF, CONCAT, FORMAT ํจ์์ LAST_VALUE, FIRST_VALUE, LEAD, LAG ํจ์ ๋ฑ์ ํตํด ๋ค์ํ ๋ฐ์ดํฐ ๋ถ์ ๋ฐ ์ฒ๋ฆฌ๋ฅผ ์ํํ ์ ์์ต๋๋ค.
ํ๋ก๊ทธ๋๋ฐ ๊ฐ์ฒด ๋ง๋ค์ด ํ์ฉํ๊ธฐ
SQL์์์ ํ๋ก๊ทธ๋๋ฐ ๊ฐ์ฒด ํ์ฉ๋ฒ์ ํ์ตํฉ๋๋ค. ๋ทฐ(View)์ ์ดํด ๋ฐ ๊ด๋ฆฌ, ์ ์ฅ ํ๋ก์์ (Stored Procedure)์ ์์ฑ๊ณผ ์ฌ์ฉ, ์
๋ ฅ ๋ฐ ์ถ๋ ฅ ๋งค๊ฐ ๋ณ์, ๋์ ์ฟผ๋ฆฌ๋ฌธ(Dynamic Queries), ์ฌ์ฉ์ ์ ์ ํจ์(User Defined Function)๋ฅผ ๋ง๋ค์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํจ์จ์ฑ์ ๊ทน๋ํํฉ๋๋ค.
์์ฒด ์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค
์ค์ ์
๋ฌด์์ ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฌํ ํํ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ์ฌ ํ์ต ํจ์จ์ ํฅ์์ํต๋๋ค. ์๋ ๋ค์ด์ด๊ทธ๋จ์ ์ธ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ผํ๋ชฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ณด์ฌ์ฃผ๋ฉฐ, ์ด๋ค์ ๊ฐ๊ฐ SQL ๊ธฐ๋ณธ ๊ตฌ๋ฌธ๊ณผ ๊ณ ๊ธ ๊ตฌ๋ฌธ ํ์ต์ ์ํด ์ฌ์ฉ๋ฉ๋๋ค. ๋ํ, ๋ค์ํ ์
๋ฌด์ ๋ํ ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ ๊ณตํฉ๋๋ค.