๋ชฉ์ฐจ
๐ 2021๋ 11์ 20์ผ ํ ์์ผ ์ 43ํ SQL๊ฐ๋ฐ์ ์๊ฒฉ์ฆ ์ํ ํ๊ธฐ
์ค๋ ๋ณด๊ณ ์๋ค! ๋ด ๊ณต๋ถ๋ฐฉ๋ฒ๊ณผ ์ ๋ฆฌ๋ณธ, ์ด๋ฒ์ ์ํ์ ์ถ์ ๋ ๋ฌธ์ ๋ค์ ๊ธฐ์ต๋๋๋๋ก ์ ์ด๋ณด๊ฒ ๋ค
๊ฐ์ธ์ ์ผ๋ก ๊ธฐ์ถ์ด๋ ๋ณต์๋ ๋ฌธ์ ๊ฐ ๋ง์ด ์์ด์ ๊ณต๋ถํ๋๋ฐ ์์ฌ์ ๋ค ใ
๋ฌผ๋ก ๋ฌธ์ ์ง์ ํ๋ฉด ๋์ง๋ง ์ด๋ ค์ด ๋ฌธ์ ๋ ๋ ์ด๋ ค์ ์ด์.. ์ํ ๋ณด๊ธฐ ์ ๊น์ง ๋์ด๋๋ฅผ ๊ฐ๋ ํ ์ ์๋?? ๋๋์ด์๋ค
๊ฒฐ๊ณผ๋ ๋์๋ด์ผ์์ง๋ง.. ๋ค๋ฅธ๋ถ๋ค์ด ๊ณต๋ถํ๋๋ฐ ๋์์ด ๋์์ผ๋ฉดํด์ ์ฌ๋ฆฝ๋๋ค!
๐ ๋์ ๊ธฐ์ด์ง์
๋๋ ์ผ๋จ ์ปดํจํฐํ๊ณผ๋ฅผ ๋์์.. SQL์ ์ค์ตํด๋ณธ์ ๋ ์๊ณ
์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ ์ค๋นํ๋ฉด์๋ SQL์ ์ด๋ก ์ผ๋ก ๊ณต๋ถํ์ด์ ์ด๋์ ๋ ์๋ ๋ด์ฉ์ด์๋ค.
ํ์ง๋ง ํจ์๊ฐ ๋ง์์ ํ๋ค์๊ณ ,, ์ตํฐ๋ง์ด์ ์ ์ฑ๋ฅ๋ชจ๋ธ๋ง์ ์กฐ๊ธ ๋ฏ์ค์๋ค!
๐ ์ค๋น๊ธฐ๊ฐ ๋ฐ ๊ณต๋ถ์๊ฐ
2021๋
11์ 1์ผ ~ 11์ 19์ผ๊น์ง ์ด 20์ผ์ด ๋ ๊ฒ ๊ฐ๋ค.
1์ผ~10์ผ์ ์ด๋ก ์ ๋ฆฌ + ๋ฌธ์ ํ์ด + ํด์ฆ๋ ์ ์งํํ๊ณ
10์ผ~19์ผ์ ๋ฌธ์ ํ์ด + ๊ธฐ์ถ + ์ค๋ต์ ๋ฆฌ๊ฐ ๋ ๊ฒ ๊ฐ๋ค!
=> ์ฌ์ค 10~19์ผ ์ค 4์ผ์ ๋๋ ๋์ถฉ ํด์ฆ๋ ์ค๋ต๋ง ํ์ด๋ณด๊ณ ๋ค๋ฅธ๊ฑฐํ๋ค..๐
๋๋ ์ด๋ฒ์ ๊ผญ ์ทจ๋ํด์ผ๋๊ธฐ๋ ํ๊ณ , ์๋ ๋ด์ฉ์ผ๋ก ํ๋ฆฌ๊ธฐ ์ซ์ด์ ๊ณต๋ถ ์ด์ฌํํ๋ค!๐ฅ๐ฅ
๐ ์ค์ตํ๊ฒฝ
DB ์ค์นํ๋ ๊ณผ์ ์๊ฐํ๋ ๊ท์ฐฎ๊ธฐ๋ํ๊ณ .. ํ์ํ ๊ฒ๋ง ์ค์ต์ผ๋ก ํ์ธํ๋ฉด ๋ ๊ฒ ๊ฐ์์ ์จ๋ผ์ธ์ผ๋ก ํด๊ฒฐํ๋ค
๐ ๊ณต๋ถ๋ชฉ์ฐจ ๋ฐ ์ ๋ฆฌ๋ณธ
๋๋ ์ด๋ ๊ฒ ์ ๋ฆฌํ๋ฉด์, ์ฐ๋ฉด์ ํ๋ฒ์ฉ ํ์ด๋ณด๋๊ฒ ๋จธ๋ฆฌ์ ์๋ค์ด์์ ๋ชฉ์ฐจ๋ณ๋ก ์ ๋ฆฌํด๋ดค๋ค
๊ณต๋ถํ๋ฉด์ ์ดํดํ๊ธฐ ์ฌ์ด ์์๋ ๋ฒํธ1๏ธโฃ2๏ธโฃ3๏ธโฃ....๋ฅผ ๋ฐ๋ผ๊ฐ๋ฉด ๋๋ค.
๋ฐ์ดํฐ ๋ชจ๋ธ๋ง์ ์ดํด |
๋ฐ์ดํฐ ๋ชจ๋ธ๋ง์ ์ดํด |
๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ดํด ์ํฐํฐ ์์ฑ ๊ด๊ณ ์๋ณ์ |
1๏ธโฃ ๐๋ชจ๋ธ๋ง, ์ํฐํฐ, ์์ฑ, ๊ด๊ณ, ์๋ณ์, IEํ๊ธฐ๋ฒ vs BARKERํ๊ธฐ๋ฒ |
๋ฐ์ดํฐ ๋ชจ๋ธ๊ณผ ์ฑ๋ฅ |
์ฑ๋ฅ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง์ ๊ฐ์ ์ ๊ทํ์ ์ฑ๋ฅ ๋ฐ์ ๊ทํ์ ์ฑ๋ฅ ๋๋ ๋ฐ์ดํฐ์ ๋ฐ๋ฅธ ์ฑ๋ฅ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์กฐ์ ์ฑ๋ฅ ๋ถ์ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฑ๋ฅ |
7๏ธโฃ ๐์ฑ๋ฅ๋ชจ๋ธ๋ง, ์ ๊ทํ, ๋ฐ์ ๊ทํ, ํํฐ์ ๋, ์ํผ/์๋ธํ์ ์ฑ๋ฅ, PK/FK ์ฑ๋ฅ, ๋ถ์ฐ๋ฐ์ดํฐ๋ฒ ์ด์ค | |
SQL ๊ธฐ๋ณธ ๋ฐ ํ์ฉ |
SQL ๊ธฐ๋ณธ | ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์ DDL DML TCL WHERE ์ ํจ์ FUNCTION GROUP BY, HAVING ์ ORDER BY ์ ์กฐ์ธ JOIN |
2๏ธโฃ ๐๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์, DDL, DML, DCL, TCL 3๏ธโฃ ๐์ฐ์ฐ์, WHERE, GROUP BY, HAVING, ORDER BY, ๋ฌธ์ฅ์คํ์์ 4๏ธโฃ ๐์งํฉ์ฐ์ฐ์์ ์์๊ด๊ณ์ฐ์ฐ์, ์กฐ์ธ, ์กฐ์ธ์ข ๋ฅ, ๊ณ์ธตํ์ง์, ์๋ธ์ฟผ๋ฆฌ, ๋ทฐ 5๏ธโฃ ๐ํจ์, NULLํจ์, ๊ทธ๋ฃนํจ์, ์๋์ฐํจ์, CASEํํ์, ์ ์ฐจํSQL, ํ๋ก์์ , ํจ์, ํธ๋ฆฌ๊ฑฐ |
SQL ํ์ฉ | ํ์ค ์กฐ์ธ ์งํฉ์ฐ์ฐ์ ๊ณ์ธตํ ์ง์์ ์ ํ ์กฐ์ธ ์๋ธ์ฟผ๋ฆฌ์ ๋ทฐ ๊ทธ๋ฃน ํจ์ ์๋์ฐ ํจ์ DCL ์ ์ฐจํ SQL |
||
SQL ์ต์ ํ ๊ธฐ๋ณธ ์๋ฆฌ |
์ตํฐ๋ง์ด์ ์ ์คํ๊ณํ ์ธ๋ฑ์ค ๊ธฐ๋ณธ ์กฐ์ธ ์ํ ์๋ฆฌ |
6๏ธโฃ ๐์ตํฐ๋ง์ด์ , ์คํ๊ณํ, ์ธ๋ฑ์ค, ํ ์ด๋ธ ์ค์บ, Nested Loop Join, Sort Merge Join, Hash Join |
๋ค์ด๋ฒ ์นดํ์ SQL๊ฐ์ด๋๋ฅผ ๋ฐํ์ผ๋ก ์ ๋ฆฌํ๋ค.
๐ ๋ฌธ์ ํ์ด
๋ฌธ์ ์ง
๊ฐ์ฅ ์ ๋ช
ํ ๋
ธ๋์ฑ
!!!
์ด๊ฑธ๋ก ์ ์ฒด ๋ฌธ์ ๋ 1ํ์ฐจ๋ก ํ๊ณ , ์ค๋ต๋ง 2ํ์ฐจ๋ก ํผ ๋ค์ ํด์ฆ๋ ์ผ๋ก ์ค๋ต๋ฌธ์ ๋ฐ๋ณตํ๋ค
=> 43ํ ์ํ์ ๋
ธ๋ญ์ด์์ 10๋ฌธ์ ์ ๋ ์ ์ฌํ๊ฒ ๋์๋ค!!
ํด์ฆ๋
์๊ธฐํ ๋๋ ๋ฌธ์ ํ๋ ์ ์ฉํ๊ฒ ์ฌ์ฉํ๊ณ ์๋ ์ฌ์ดํธ์ด๋ค! (์ ๋ง ๊ฐ์ถ..)
๊ฒ์ํด๋ณด๋ ๋ค๋ฅธ๋ถ์ด ๋ฌธ์ ํ์์ผ๋ก ์ ์ ๋ฆฌํ์ ๊ฒ ์์ด์ ์ด๋ฐ์ ์ด๊ฑธ๋ก ๊ณต๋ถํ๊ณ
โญโญ๋ชจ๋ฐ์ผ์์ ์ดํ๋ก ํ ์ ์๋ค!
1. SQLD : DB๋ชจ๋ธ๋ง์ ์ดํด ๋ฌธ์
https://quizlet.com/_8lm2ch?x=1jqt&i=24fjuj
2. SQLD : SQL ๊ธฐ๋ณธ ๋ฐ ํ์ฉ
https://quizlet.com/_8loglo?x=1jqt&i=24fjuj
๊ธฐ์ถ๋ฌธ์ ๋ ๋ฌธ์ ์ง ํ๊ธฐ ์์ํด์๋ ๋๋ง์ ์ค๋ต๋
ธํธ์์ผ๋ก ๋ฐ๋ก ์ธํธ๋ฅผ ๋ง๋ค์๋ค.
SQLD๊ธฐ์ถ๋ฌธ์ ๐
https://quizlet.com/_al0e64?x=1jqt&i=24fjuj
๋งํฌ์ ์ ์ํด์ [ํ์ตํ๊ธฐ]๋ฅผ ๋๋ฅด๊ณ ์ต์
์์
๋ต๋ณ์ ๋ป์ผ๋ก, ๋ฌธ์ ์ ํ์ ๋ฑ๋ง์นด๋๋ก ์ค์ ํ๋ฉด ๋ฌธ์ ํ์ด์์ผ๋ก ํ ์ ์๋ค.
๋ค์ ํ์ตํ๊ธฐ๋ฅผ ๋๋ฅด๋ฉด ๋ค์์๋ ๋ค์ ๋ฌธ์ ๊ฐ ๋์ค๊ณ
ํ์ธ์ ๋๋ฅด๋ฉด ์๋ฒฝํ ์๋ ๊ฒ์ผ๋ก ๊ฐ์ฃผํด์ ๋ค์์ ์๋์จ๋ค!
๐ฏ ์ 43ํ ์ถ์ ๋ฌธ์ (๊ธฐ์ต๋๋๋๋ก ์์ฑํจ)
์ ํํ
๋น์๋ณ์๋ฅผ ์ฌ์ฉํ์ง ์๋ ๊ฒฝ์ฐ : ์กฐ์ธ์ ๋ณต์ก์ฑ์ ๊ฐ์ํ๊ธฐ์ํด ์ฌ์ฉํ๋ค
๋ณด๊ธฐ๋ฅผ ์ค ๋ค์ ํด๋น ๊ฒฐ๊ณผ๋ ๋ช์ฐจ ์ ๊ทํ์ ํด๋น๋๋์ง ์ ํ
ํธ๋์ญ์
์ ๋ํ 4๊ฐ์ง ํน์ฑ(์์์ฑ, ์ผ๊ด์ฑ, ๊ณ ๋ฆฝ์ฑ, ์ง์์ฑ) ์ค ์๋ชป๋ ์ค๋ช
์ ํ
ROW CHAINING๊ณผ ROW MIGRATION
cross join์ ํ์ ๊ฐ์ ๊ตฌํ๊ธฐ
NVL ํจ์
CEIL, ROUND, TRUNC ํจ์์ ๊ฐ ๊ตฌํ๊ธฐ
LIKE์ฐ์ฐ์ : _๊ฐ ํฌํจ๋ ๋ฌธ์์ด์ ๊ตฌํ๋ ค๋ฉด? "%@_%" ESCAPE "@"
์ ํํ - ๋ ธ๋ญ์ด์์ ์ถ์ ๋ ๋ฌธ์
๋จ๋ตํ
์ค๋ช
์ด ์ฃผ์ด์ง๊ณ ํด๋น๋๋ ์ ๋ต ์์ฑ : domain
์ค๋ช
์ด ์ฃผ์ด์ง๊ณ ํด๋น๋๋ ์ ๋ต ์์ฑ : ๊ด๊ณ์ฐจ์
์ค๋ช
์ด ์ฃผ์ด์ง๊ณ ํด๋น๋๋ ์ ๋ต ์์ฑ : primary key, ๊ธฐ๋ณธํค
์ค๋ช
์ด ์ฃผ์ด์ง๊ณ ํด๋น๋๋ ์ ๋ต ์์ฑ : NULLIF
๋ณด๊ธฐ์ ๊ฒฐ๊ณผ์ฒ๋ผ ๋๋ ค๋ฉด ์ด๋ค ๋ฌธ์ฅ์ ์
๋ ฅํด์ผํ๋์ง ์์ฑ : DENSE_RANK( )
๋ณด๊ธฐ์ ๊ฒฐ๊ณผ์ฒ๋ผ ๋๋ ค๋ฉด LEAD ํจ์์ ์ธ์๋ฅผ ๋ฌด์์ผ๋ก ์ฑ์์ผํ๋์ง ์์ฑ
์ค๋ช
์ด ์ฃผ์ด์ง๊ณ ํด๋น๋๋ ์ ๋ต ์์ฑ : update
์ค๋ช
์ด ์ฃผ์ด์ง๊ณ ํด๋น๋๋ ์ ๋ต ์์ฑ : GROUP BY position