์ฟผ๋ฆฌ ์์ฑ์ด ์ฑ๋ฅ๊ณผ ํ์ง์ ๊ฐ๋ฅธ๋ค!
์ค๋ฌด ์ค์ฌ์ผ๋ก ํํํ๊ฒ ์ตํ๋ณด์ธ์. ๐จโ๐ป
์๋ชป ์์ฑ๋ ์ฟผ๋ฆฌ ๋ช ์ค์ด
์ฑ๋ฅ ๋ฌธ์ ๋ฅผ ์ผ์ผํจ๋ค๊ณ ์?
์ฑ๋ฅ ์ธก๋ฉด์์ ์๋ชป ์์ฑ๋ ์ฟผ๋ฆฌ๋ DB ์ฑ๋ฅ๊ณผ ์๋น์ค ์ฑ๋ฅ ์ ํ๋ฅผ ์ ๋ฐํ๋ ์ฃผ์ ์์ธ์ด ๋ฉ๋๋ค. ๊ฐ๋ฐ ์ด๊ธฐ์ ๊ฒฐ๊ณผ ์์ฃผ๋ก ์์ฑ๋ ์ฟผ๋ฆฌ๋ SQL Server์ ์ ํฉํ์ง ์์ ๊ตฌํ์ด ์ฐจํ ๋ฐ์ดํฐ ์ฆ๊ฐ์ ํจ๊ป ์ฑ๋ฅ ๋ฌธ์ ๋ฅผ ์ ๋ฐํ๋ ๊ฒ์ด ์ผ๋ฐ์ ์ด์ฃ .
๊ทธ๋์, ํ์ง ์ข์ ์ฟผ๋ฆฌ ์์ฑ์ด ์ค์ํฉ๋๋ค!
- ์ฑ๋ฅ ์ข์ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ๊ธฐ ์ํ ๊ธฐ๋ณธ ๊ท์น๋ค๊ณผ ๊ธ๊ธฐ ์ฌํญ๋ค
- ํ์ง ์ข์ ์ฟผ๋ฆฌ ์์ฑ์ ์ํ ๊ธฐ๋ณธ ์ง์๋ค
- ๊ณตํต์ ์ธ ์ค๋ฌด ์ฌ๋ก๋ค์ ๊ฐ์ ์ ์ธ ๊ฒฝํ
SW ๊ฐ๋ฐ์๋ก์ ํ๋ก์ ํธ๋ ์๋ฃจ์
๋ฑ์ ๊ฐ๋ฐ ์์ ์ด๋ค ์ ํ์ ์ฟผ๋ฆฌ๋ ๊ตฌํ์ด ์ฐจํ ์ฑ๋ฅ ๋ฌธ์ ๋ฅผ ์ ๋ฐํ ์ ์๋์ง๋ฅผ ์ดํดํ๊ณ ์ค๋ฌด์ ๋ฐ๋ก ์ ์ฉํ ์ ์๋๋ก ๊ด๋ จ ์ง์๊ณผ ๊ฒฝํ์ ๊ณต์ ํ๊ณ ์ถ์ต๋๋ค.
์ด๋ฐ ๋ถ๋ค๊ป
์ถ์ฒํฉ๋๋ค.
SQL Server
์ด์ค๊ธ ๊ฐ๋ฐ์
IT ํ๋ก์ ํธ์
์ฃผ๋ก ์ฐธ์ฌํ๋ ๊ฐ๋ฐ์
์ฟผ๋ฆฌ ์ฑ๋ฅ์
๊ด์ฌ ์๋ ์ด~
์ค๊ธ ์ฌ์ฉ์
์ฟผ๋ฆฌ ์ต์ ํ๋ฅผ
๊ณ ๋ฏผํ๋
์๋ฃจ์
๊ฐ๋ฐ์
์ฟผ๋ฆฌ ์์ฑ
ํ์ค์ด ํ์ํ
๊ด๋ฆฌ์
์ฟผ๋ฆฌ ์์ฑ๋ฒ, ๊ผญ ์์์ผ ํ๋ ์ธ ๊ฐ์ง ์ด์ !
- 1๏ธโฃ ์ค๋ฌด์์ ์ฟผ๋ฆฌ ๊ตฌํ ๋ฐ ์์ฑ ์์ ์ฑ๋ฅ์ ๊ณ ๋ คํด ๋ ์ข์ ์ฟผ๋ฆฌ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- 2๏ธโฃ ์ฑ๋ฅ ์ด์๊ฐ ์์๋๋ ์ฟผ๋ฆฌ์ ๋ํด DB ๋ด๋น์๋ ํ์
๊ณผ ํ์ํ ์ ์์ต๋๋ค.
- 3๏ธโฃ ์ฟผ๋ฆฌ ํ๋์ ํ์ตํ๋๋ฐ ๋์์ด ๋ฉ๋๋ค.
๋ ์ข์ ํ์ง,
๋ ๋์ ์ ์ง ๋ณด์๋ฅผ ์ํด.
์ธ๋ฑ์ค์ ์ฟผ๋ฆฌ ํ๋์ ์ํด์ ๊ฐ๋ฐ ๋ฐ ๊ตฌํ ๋จ๊ณ์์๋ถํฐ ๊ธฐ๋ณธ์ ์ผ๋ก ํด์ฃผ์ด์ผ ํ ๊ท์น, ๊ธ๊ธฐ์ฌํญ ๋ฐ ์์ฑ๋ฒ์ด ์์ต๋๋ค.
๋ณธ ๊ต์ก์์๋ ๊ฐ๋ฐ์๊ฐ ์ฟผ๋ฆฌ ๊ตฌํ ๋จ๊ณ์์ ๊ณ ๋ คํด์ผ ํ ์ฌ๋ฌ ๊ฐ์ง ๊ท์น๋ค๊ณผ ๊ถ์ฅ ์ฌํญ๋ค์ ๋ฐฐ์ธ ์ ์์ผ๋ฉฐ ์ด๋ก ์ธํด ๋ ์ข์ ํ์ง๊ณผ ์ ์ง ๋ณด์์ ์ฉ์ดํ ์ฟผ๋ฆฌ๋ฅผ ๊ตฌํํ๋ ๋ฐ ๋์์ ์ป์ ์ ์์ต๋๋ค. ํนํ SQL Server๋ฅผ ์ ๋ฌธ์ ์ผ๋ก ์ค๋ซ๋์ ์ปจ์คํ
๋ฐ ๊ฐ์ ๊ฒฝํ์ ๊ฐ์ง ์ง์๊ณต์ ์๊ฐ ๊ฐ ์ฃผ์ ๋ณ๋ก ์ค๋ฌด์์ ๊ณตํต์ ์ผ๋ก ๋ํ๋๋ ์์ ๋ค์ ์ํ๋ก ์ฌ์ฉํ๋ฏ๋ก ๊ต์ก ํ ์ค๋ฌด ํ์ฉ์ ์ง์ ์ ์ธ ๋์์ด ๋ฉ๋๋ค.
SQL Server
์ฌ์ฉ ์ด๋ณด์ธ๋ฐ
์๊ฐ์ ํด๋ ๋ ๊น์?
SQL ๊ธฐ์ด๋ ์๊ณ ์์ด์ผ ๋ด์ฉ์ ์ดํดํ๊ณ ๋ฐ๋ผํ๋๋ฐ ์์ํ์ค ๊ฒ๋๋ค, ํน์ ์ค๊ฐ์ ์ ๋ชจ๋ฅด๋ ๋ด์ฉ์ด ์๋ค๋ฉด ํด๋น ๊ตฌ๋ฌธ/๋ช
๋ น/๋ฌธ๋ฒ์ ๋ํด์ ํ์ต์ ํ์๊ณ ๋ค์ ๋ค์ผ์๋ฉด ์ดํด์ ๋์์ด ๋์ค ๊ฒ๋๋ค. ํน์ Q/A๋ฅผ ์ด์ฉํ์
๋ ๋๊ฒ ์ฃ ๐
MySQL,
PostgreSQL ๋ฑ
๋ค๋ฅธ DBMS๋ก
๊ฐ๋ฐํ ๋๋
์ ์ฉ๋ ์ ์์๊น์?
DBMS๋ง๋ค ์ธ๋ฑ์ค, ํต๊ณ์ ๋ณด, ์ ๊ธ, ์ฟผ๋ฆฌ ์ต์ ํ ๋ฑ์ ์ํคํ
์ฒ์ ์ธ๋ฐํ ์ฐจ์ด๊ฐ ์์ด SQL Server๋ฅผ ๊ธฐ์ค์ผ๋ก ํ ๋ณธ ๊ฐ์ ๋ด์ฉ์ด 100% ๋์ผํ๊ฒ ์ ์ฉ๋์ง๋ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์๋นํ ๋ง์ ๋ด์ฉ๋ค์ด ๋ค๋ฅธ DBMS์์๋ ์ ์ฉ๋๋ค๊ณ ๋ง์๋๋ฆด ์ ์์ต๋๋ค.
SQL Server
๋ฒ์ ์ ๋ฐ๋ผ์๋
์ฐจ์ด๊ฐ ์์๊น์?
๊ฑฐ์ ๋๋ถ๋ถ์ ๋ด์ฉ๋ค์ ํ์ฌ ์ฃผ๋ก ์ฌ์ฉํ๋ ๋ฒ์ ๋ค์ ๊ธฐ์ค์ผ๋ก ๊ฑฐ์ ์ฐจ์ด๊ฐ ์์ต๋๋ค. ์ผ๋ถ ์ฐจ์ด๊ฐ ์๋ ๋ถ๋ถ์ ๊ฐ์์์ ์ค๋ช
๋๋ฆฝ๋๋ค.
๋ค์ ๋ด์ฉ์
ํ์ตํฉ๋๋ค.
1. ์ฟผ๋ฆฌ ์์ฑ ๊ธฐ๋ณธ ์ฌํญ
- ์ด์ DB์์ SSMS๋ ๊ฐ๋ฐ ๋๊ตฌ ์ธ ๋ ์กฐ์ฌํ์ธ์~
- WHERE์ ๊ณผ JOIN์ ์ ์์ฑ ์์๋ ์ฑ๋ฅ์ ์ํฅ์ ๋ฏธ์น ๊น์?
- ๋ ์ง์๊ฐ ๋ฆฌํฐ๋ด์ด๋ ๋ฌธ์์ด ๋ฆฌํฐ๋ด ๋ฐ ๊ฒ์์ ์ด๋ป๊ฒ ํ๋ ๊ฒ์ด ์ข์๊น์?
- ์กฐ์ธ ์กฐ๊ฑด๊ณผ ๊ฒ์ ์กฐ๊ฑด์ ์ด๋ป๊ฒ ๊ตฌ๋ถํด์ ์ ์ฉํ ๊น์?
- ๋ด๊ฐ ์ง๊ธ๊น์ง ์ฌ์ฉํ ์ฟผ๋ฆฌ๊ฐ ํน์ โ์๋ฏธ ์ค๋ฅโ์ ํด๋น๋ ๊น?
2. ์ฟผ๋ฆฌ ๊ธ๊ธฐ ์ฌํญ
- ์ฑ๋ฅ ์ ์ข์ ์กฐ๊ฑด์์ ์ด๋ค ํ์์ผ๋ก ์์ฑํด์ผ ํ ๊น์?
- ์ฟผ๋ฆฌ ๊ธ๊ธฐ์ฌํญ์ด ์๋ค? ํน์ ๋๋ ์ต๊ด์ ์ผ๋ก?
- ๋ก์ปฌ ๋ณ์, ์ฌ์ฉ์ ์ ์ ํจ์ WHERE ์ ์ ์ฐ๋ฉด ์ํํ๋ค๊ณ ?
3. ๋ ์ข์ ์ฟผ๋ฆฌ ์์ฑํ๊ธฐ
- IN๊ณผ BETWEEN ๋๊ฐ ๋น ๋ฅธ๊ฐ์? ์ธ์ ๋๊ตฌ๋ฅผ ์ฐ๋๊ฒ ์ข์๊น?
- ์ง๊ณํจ์์ ์ฃผ์ธ๊ณต์ NULL
- UNION(ํฉ์งํฉ), ALL ์ธ๊น์? ๋บ๊น์?
- UPDATEํ๊ณ ๋ SELECT? ๊ทธ๋ฅ ํ ๋ฐฉ์
- SQL Server์ ์๋ก์ด ํจ์์ ๊ตฌ๋ฌธ๋ค ์งฑ ์ข์์^^
- ์กฐ์ธ ๊ตฌ๋ฌธ์ ์ด๋ป๊ฒ ์์ฑํ ๊น์? ๋ถํ์ํ OUTER JOIN์ด ์ฑ๋ฅ ๋ฌธ์ ๋ฅผ?
- Subquery๋ ๋ฌด์กฐ๊ฑด ๋๋ฆฌ๋ค๊ตฌ์? ์ ์ฐ๋ฉด ์ฝ์ด์์
- ์ฟผ๋ฆฌ ํ๋ ํต์ฌ ๊ธฐ๋ฅ, ํ์ํ
์ด๋ธ/CTE/APPLY ๋ง๋ณด๊ธฐ
- CASE ์์ SELECT ๋ฌธ? ์๋ ๊ฑฐ๊พธ๋ก ์ฐ์ธ์
- ์ฐจ์งํฉ ์ฟผ๋ฆฌ ํ์ํ์ธ์? NOT IN์ ํนํ ์ฃผ์ํ์ธ์
- ์ฌ๊ทํธ์ถ ์ฟผ๋ฆฌ, CTE ์ ํ์ฉํ์ธ์
- ์ฟผ๋ฆฌ ํํธ ์ด๋ค๊ตฌ์? ์กฐ์ฌํ์ธ์~
- SQL Server์์ ์ฟผ๋ฆฌ๋ ์ ๊ธ ์ด์๋ฅผ ๊ผญ ์ฑ๊ธฐ์ธ์~
4. ์ปค์, ๋ทฐ, ์ฌ์ฉ์ ์ ์ ํจ์ ๊ตฌํ ์ ๊ณ ๋ ค์ฌํญ
- Cursor? ๊ฐ๋ฅํ SQL๋ก ๊ตฌํํ์ธ์, ๊ทธ๋๋ ํ์ํ๋ค๋ฉดโฆ
- STRING_AGG() ํจ์ ๋ชจ๋ฅด์
จ๋ค๊ตฌ์? ๊น์ง ๋๋ผ์ค๊ฑธ์
- ๊ฐ์ ํธ ๋ง๋ฅ ํ! ์๋ ๋ง๋ฅ View? ์กฐ์ฌํ์ธ์~
- ์ฌ์ฉ์ ์ ์ ํจ์์ ๋๋ ๊ฒ์์ด ๋ง๋๋ฉด ๋ง~์ด ๋ฌด๊ฑฐ์์ ธ์
- FORMAT() ํจ์? ๋๋ ๊ฒ์์์ ์กฐ์ฌ ์กฐ์ฌ
- (๋ถ๋ก) .NET EF, EF Core์ ๊ฐ์ ORM ์ฐ์๋์? ์กฐ์ธ๋๋ฆฝ๋๋ค
์๋
ํ์ธ์!
์ง์๊ณต์ ์ ๊น์ ์ ์
๋๋ค.
์ด๋ ฅ ์ฌํญ
- ใ์จํ๋ก(www.sqlroad.com ) ๋ํ์ปจ์คํดํธ/์ด์ฌ (2005๋
๋ถํฐ)
- SQL Server ์ปจ์คํ
, ๊ธฐ์ ์ง์, ๊ฐ์, ์๋ฃจ์
๊ฐ๋ฐ
- SQLBigEyes (SQL Server ์ฑ๋ฅ ๋ชจ๋ํฐ๋ง ์๋ฃจ์
, www.sqlbigeyes.com ) ๊ฐ๋ฐ
- SQLBigEyes (SQL Server ์ฑ๋ฅ ๋ชจ๋ํฐ๋ง ์๋ฃจ์
, www.sqlbigeyes.com ) ๊ฐ๋ฐ
- Microsoft Data Platform MVP
- 2002๋
๋ถํฐ (ํ์ฌ 2025๋
๊ธฐ์ค) 24๋
๊ฐ ์์, 2008๋
MVP ๊ณต๋ก์ ์์
์๊ฒฉ ๋ฐ ์ธ์ฆ
- MCT, Azure DBA, MCITP ์ธ ๋ค์
๊ฐ์ ํ๋ (1999๋
๋ถํฐ)
์ธ๋ถ ํ๋
- SQL Server MVP Deep Dives Vol 2(Manning Pubs) ๊ณต๋ ์ ์ ์ฐธ์ฌ
- ๊น์ ์ ์ SQL Server ์ปจ์คํ
์ด์ผ๊ธฐ ์์ฆ 13๋
๊ฐ ์งํ ์ค
- SQL Unplugged ์ธ๋ฏธ๋ 5๋
๊ฐ ์งํ
- SQL PASS Korea Chapter Leader
- Microsoft Ignite, BITEC, Tech Camp, MVP Camp, TechEd, MSDN ๋ฑ Speaker ์ฐธ์ฌ
์์ฃผ ๋ฌป๋ ์ง๋ฌธ์
ํ์ธํด๋ณด์ธ์.
Q. ๋น์ ๊ณต์๋ ๋ค์ ์ ์๋ ๊ฐ์์ธ๊ฐ์?
SQL์ ๊ธฐ์ด๋ ์ฌ์ฉ ๊ฒฝํ์ด ์๋ค๋ฉด ๋ค์ ์ ์์ต๋๋ค. ์กฐ๊ธ ๋ถ์กฑํ๋๋ผ๋ ์๊ฐ ์ค์ ํ์ํ ๊ธฐ์ด๋ฅผ ๋ณํ ํ์ตํ์๋ฉด ๋ ๊ฒ๋๋ค.
Q. ๊ฐ์๋ฅผ ๋ฃ๊ธฐ ์ ์ค๋นํด์ผ ํ ๊ฒ์ด ์๋์?
SQL Server์์ ์ ๊ณตํ๋ SSMS ํ๋ก๊ทธ๋จ์ด๋ ํน์ ์ฟผ๋ฆฌ ์ฌ์ฉ์ด ๊ฐ๋ฅํ ์ ์ฌ ํ๋ก๊ทธ๋จ์ ์ค์นํด ๋์๊ณ ์ ๊ณต๋๋ ๋ฐ๋ชจ์ฉ DB์ SQL ์คํฌ๋ฆฝํธ๋ฅผ ๋ฏธ๋ฆฌ ๋ค์ด๋ก๋ ํด ๋์๋ฉด ๋ฉ๋๋ค. ๋ฐ๋ชจ DB ๊ตฌ์ฑ์ ๊ต์ก์์ ์ค๋ช
๋๋ฆฝ๋๋ค.
Q. ์๊ฐ ๊ด๋ จ ์ฐธ๊ณ ์ฌํญ(๊ฐ์ถฐ์ผ ํ ํ๊ฒฝ, ๊ธฐํ ์ ์์ฌํญ ๋ฑ)์ด ์๋์?
๋ฐ๋ชจ ๋ฐ ๊ณผ์ ์ํ์ ์ํด SQL Server๊ฐ ํ์ํฉ๋๋ค. ๊ฐ๋ฅํ๋ฉด ์ต์ ๋ฒ์ (2021๋
ํ์ฌ ๊ธฐ์ค 2019)์ด ์ข๊ณ ์ด์ ๋ฒ์ ๋ ๊ด์ฐฎ์ต๋๋ค.
Q. "์ฟผ๋ฆฌ ํ๋" ์ฃผ์ ์ ๊ต์ก ๋ด์ฉ๊ณผ๋ ์ด๋ค ์ฐจ์ด๊ฐ ์๋์?
์ฟผ๋ฆฌ ํ๋์ ์ฟผ๋ฆฌ์ ์ฑ๋ฅ์ ์ง๋จ๋ถ์ํ๊ณ ์์ธ ์ถ์ ๊ณผ ํด๊ฒฐ์ ํตํด ์ฑ๋ฅ์ ๊ฐ์ ํ๋ ์ ๋ฐ์ ์ธ ์ ์ฐจ, ๋ฐฉ๋ฒ, ์ฌ๋ก๋ค์ ๋ค๋ฃน๋๋ค. ๋ณธ ๊ณผ์ ์์๋ ๋ค๋ฃจ์ง ์๋ ๋ฒ์์ด๋ฏ๋ก ์ฐธ๊ณ ๋ฐ๋ผ๋ฉฐ ๊ต์ก ์์ ์ ๋ฐ๋ถ์์ ์ด ๋ถ๋ถ์ ๋ค์ ํ ๋ฒ ์ค๋ช
๋๋ฆฝ๋๋ค.