์๋ ํ์ธ์ yunamom ์ ๋๋ค :D
์ด๋ฒ์๊ฐ์๋ 48ํ SQLD ์ํ 1๊ณผ๋ชฉ, 2๊ณผ๋ชฉ ์ ๋ต์ ํฌ์คํ ํ๊ฒ ์ต๋๋ค. ๐ฉ๐ป๐ป
*๋ฌธ์ ์์๋ ๋ค๋ฅผ ์ ์์ผ๋ฉฐ ๋ต ์์ฒด๋ฅผ ์ ์ด๋๊ฑฐ๋ ๋ฌธ์ ๋ง ์ ์ ๊ฒฝ์ฐ๋ ์์ต๋๋ค.
*1๊ณผ๋ชฉ*
๋ฌธ์ 1. ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง ์ค๋ช ์ด ์ณ์ง ์์ ๊ฒ์?
๋ฐ๋์ ๋ชจ๋ ์ ๊ทํํด์ผํ๋ค (4๋ฒ)
๋ฌธ์ 2. ์๋ ๋ด์ฉ์ด ์ค๋ช ํ๋ ์คํค๋ง ๊ตฌ์กฐ๋ก ๊ฐ์ฅ ์ ์ ํ ๊ฒ์?
- ๋ชจ๋ ์ฌ์ฉ์ ๊ด์ ์ ํตํฉํ ์กฐ์ง ์ ์ฒด์ ๊ด์ ์ ํตํฉ์ ํํ
- ๋ชจ๋ ์์ฉ์์คํ
๋ค์ด๋ ์ฌ์ฉ์๋ค์ด ํ์๋ก ํ๋ ๋ฐ์ดํฐ๋ฅผ ํตํฉํ ์กฐ์ง ์ ์ฒด์ DB๋ฅผ ๊ธฐ์ ํ ๊ฒ์ผ๋ก
DB์ ์ ์ฅ๋๋ ๋ฐ์ดํฐ์ ๊ทธ๋ค ๊ฐ์ ๊ด๊ณ๋ฅผ ํํํ๋ ์คํค๋ง
1) ์ธ๋ถ์คํค๋ง 2) ๊ฐ๋ ์คํค๋ง 3) ๋ด๋ถ์คํค๋ง 4) ๋ ผ๋ฆฌ์คํค๋ง |
ํตํฉ ๊ด์ ์ด๋ผ์ ๊ฐ๋ ์คํค๋ง (2๋ฒ)
๋ฌธ์ 3. ๋ฐ์์์ ์ํฐํฐ๊ฐ ์๋๊ฒ์ ๊ณ ๋ฅด์์ค. / ๋ฐ์์์ ์ํฐํฐ๋ ๊ธฐ๋ณธ ์ค์ฌ ํ์ ์ํฐํฐ๋ผ์ (4๋ฒ)
1. ๊ธฐ๋ณธ์ํฐํฐ
2. ์ค์ฌ์ํฐํฐ
3. ํ์์ํฐํฐ
4. ์ ํ์ํฐํฐ
๋ฌธ์ 4. ๋ค์ ์ค ๋ฐ์ดํฐ๋ชจ๋ธ๋ง์ ๊ด๊ณ์ ๋ํ ์ค๋ช ์ผ๋ก ๊ฐ์ฅ ๋ถ์ ์ ํ ๊ฒ์ 2๊ฐ ๊ณ ๋ฅด์์ค.
- ๋ ธ๋ญ์ด 1๊ณผ๋ชฉ 20๋ฒ (๋ฌธ์ ์ฌ๊ตฌ์ฑ๋์ด์ ์ํ์ ๋์ด)
1) ๊ด๊ณ๋ ์กด์ฌ์ ์ํ ๊ด๊ณ์ ํ์์ ์ํ ๊ด๊ณ๋ก ๊ตฌ๋ถ๋ ์ ์์ผ๋ ERD์์๋ ๊ด๊ณ๋ฅผ ์ฐ๊ฒฐํ ๋, ์กด์ฌ์ ํ์๋ฅผ ๊ตฌ๋ถํ์ง ์๊ณ ๋จ์ผํ๋ ํ๊ธฐ๋ฒ์ ์ฌ์ฉํ๋ค. 2) UML(Unified Modeling Language)์๋ ํด๋์ค๋ค์ด์ด๊ทธ๋จ์ ๊ด๊ณ ์ค ์ฐ๊ด๊ด๊ณ(Association)์ ์์กด๊ด๊ณ(Dependency)๊ฐ ์๊ณ ์ด๊ฒ์ ์ค์ ๊ณผ ์ ์ ์ผ ํ๊ธฐ๋ฒ์ผ๋ก ๋ค๋ฅด๊ฒ ํํ์ด ๋๋ค. 3) ๊ด๊ณ๋ ์กด์ฌ์ ์ํ ๊ด๊ณ์ ํ์์ ์ํ ๊ด๊ณ๋ก ๊ตฌ๋ถ๋ ์ ์๊ณ ERD์์๋ ๊ด๊ณ๋ฅผ ์ฐ๊ฒฐํ ๋, ์กด์ฌ์ ํ์๋ฅผ ๊ตฌ๋ถํ์ฌ ์ค์ ๊ณผ ์ ์ ์ ํ๊ธฐ๋ฒ์ผ๋ก ๋ค๋ฅด๊ฒ ํํํ๋ค. 4) UML(Unified Modeling Language)์๋ ํด๋์ค๋ค์ด์ด๊ทธ๋จ์ ๊ด๊ณ ์ค ์ฐ๊ด๊ด๊ณ(Association)์ ์์กด๊ด๊ณ(Dependency)๊ฐ ์์ผ๋ ๊ตฌ๋ถ ํ์ง ์๊ณ ๋จ์ผํ ๋ ํ๊ธฐ๋ฒ์ ์ฌ์ฉํ๋ค. |
์ ๋ต: 3, 4
ํด์ค: ๋ฐ์ดํฐ๋ชจ๋ธ๋ง์์๋ ์กด์ฌ์ ๊ด๊ณ์ ํ์์ ์ํ ๊ด๊ณ๋ฅผ ๊ตฌ๋ถํ๋ ํ๊ธฐ๋ฒ์ด ์์ผ๋ฉฐ, UML์์๋ ์ฐ๊ด๊ด๊ณ์ ์์กด๊ด๊ณ์ ๋ํด ๋ค๋ฅธ ํ๊ธฐ๋ฒ์ ๊ฐ์ง๊ณ ํํํ๊ฒ ๋์ด ์๋ค.
๋ฌธ์ 5. ๋ค์ ์ค ๋ฐ์ดํฐ๋ฅผ ์กฐํํ ๋ ๋น ๋ฅธ ์ฑ๋ฅ์ ๋ผ ์ ์๋๋ก ํ๊ธฐ ์ํด ์๋ ์์ฑ์ ๊ฐ์ ๊ณ์ฐํ์ฌ ์ ์ฅํ ์ ์๋๋ก ๋ง๋ ์์ฑ์ผ๋ก ๊ฐ์ฅ ์ ์ ํ ๊ฒ์? (1๋ฒ) - ๋ ธ๋ญ์ด 1๊ณผ๋ชฉ 17๋ฒ
1. ํ์์์ฑ(Derived Attribute)
2. ๊ธฐ๋ณธ์์ฑ(Basic Attribute)
3. ์ค๊ณ์์ฑ(Designed Attribute)
4. PK์์ฑ(Derived Attribute)
๋ฌธ์ 6. ์๋์ ๊ทธ๋ฆผ์ ๋ํ ์๋ณ์์ ๋ถ๋ฅ๋ฅผ ์๋ง๊ฒ ์ง์ง์ ๊ฒ์? (3๋ฒ)
1) ์ฃผ์๋ณ์ - ๋ณธ์ง์๋ณ์ - ๋ณด์กฐ์๋ณ์ - ๋ณตํฉ์๋ณ์ 2) ๋ณธ์ง์๋ณ์ - ์ฃผ์๋ณ์ - ๋ณด์กฐ์๋ณ์ - ๋ณตํฉ์๋ณ์ 3) ์ฃผ์๋ณ์ - ๋ณด์กฐ์๋ณ์ - ๋ณธ์ง์๋ณ์ - ๋ณตํฉ์๋ณ์ 4) ์ฃผ์๋ณ์ - ๋ณด์กฐ์๋ณ์ - ๋ณตํฉ์๋ณ์ - ๋ณธ์ง์๋ณ์ |
ํด์ค:
1.์ฃผ์๋ณ์
์ฌ๋ฒ์ ์
๋ฌด์์ ์ฌ์ํ๋ช
์ ์ ์ผํ๊ฒ ๋ํ๋ผ์๋ ์์ผ๋ฉฐ ๋ค๋ฅธ ์ฌ์๋คํ๊ณ ๊ตฌ๋ถ ํ ์์๊ณ ,
๋ญ๊ฐ๋ฅผ ๊ตฌ๋งคํ๊ฑฐ๋ ๊ต์ก์ ์ฐธ์ฌํ ๋ ์ฌ๋ฒ์ ํตํด ๊ตฌ๋งค๋๋ ์ฐธ์ฌ๋ฅผ ํ ์์์ผ๋ฏ๋ก ์ฃผ์๋ณ์๊ฐ ๋ฉ๋๋ค.
EX) ์ฅ์
์์ ์์ด๋(์ฃผ์๋ณ์=์ฌ๋ฒ)๊ฐ ์ ์ผํ๊ฒ ์ฌ์ฉ์๋ฅผ ๋ํ๋ผ์์์ต๋๋ค.
์ฌ๊ธฐ์ ์ฃผ๋ฏผ๋ฑ๋ก๋ฒํธ๋ง์ผ๋ก๋ ์ฃผ์๋ณ์๊ฐ ๋ ์๋์์ง๋ง ์ฃผ๋ฏผ๋ฑ๋ก๋ฒํธ๋ง์ผ๋ก ์ฃผ๋ฌธ์ ๋ฃ์ ์ ์๊ธฐ๋๋ฌธ์
๋ณด์กฐ์๋ณ์๊ฐ ๋ฉ๋๋ค. ์ถ๊ฐ์ ์ผ๋ก ๋ณด์กฐ์๋ณ์๋ ๋ํ์ฑ์ด ์๊ณ ํ ์ํฐํฐ๋ ์ฐธ์กฐ๋ฅผ ๋ชปํฉ๋๋ค.
2.๋จ์ผ ์๋ณ์
์ฌ์์ํฐํฐ์์ ์ฃผ์๋ณ์๊ฐ ํ๋์ด๋ฏ๋ก ๋จ์ผ ์๋ณ์๊ฐ ๋ฉ๋๋ค.
์ฌ์์ํฐํฐ์์ ์ฃผ์๋ณ์ ๋๊ฐ์ด์์ด๋ฉด ๋ณตํฉ์๋ณ์๋ก ๋ถ๋ฆฌ๊ฒ๋ฉ๋๋ค.
3.๋ด๋ถ์๋ณ์
์ฌ์์ํฐํฐ์์ ์ค์ค๋ก ๋ง๋ค์ด์ ธ์ ๋ด๋ถ์๋ณ์๋ ๋ฉ๋๋ค.
์ฌ๊ธฐ์ ์ธ๋ถ์๋ณ์๋ ๋ถ์๋ฒํธ์ธ๋ฐ ๋ถ์์ํฐํฐ์์ ๊ฐ์ ๋ฐ์์ค๋ ์ฐจ์ด๊ฐ ์๊ฒ๋ฉ๋๋ค.
4. ์ธ์กฐ์๋ณ์
์ฃผ ์๋ณ์๊ฐ ๋๊ฐ ์ด์์ธ ๊ฒฝ์ฐ ์ด๊ฑฐ๋ฅผ ํ๋๋ก ๋ฌถ์ด ์ฌ์ฉํ๋ ์๋ณ์
EX)์ฅ์
์์ ์ฌ์ฉ์๊ฐ ์ํ์ ๊ตฌ๋งค๋ฅผํ์๋๋ฐ ๋ง์ฝ์ ์์ด๋(์ฃผ์๋ณ์=์ฌ๋ฒ),์ฃผ๋ฌธ์ผ์(์ฃผ์๋ณ์)
์ด๋ ๊ฒ๋ง ์์ผ๋ฉด ํ์์ด๋๋ก ์ฌ๋ฌ๊ฐ๋ฅผ ์ฌ๋ฉด ๋ญ๋ฅผ ๊ตฌ๋งคํ๋์ง ์์๊ฐ ์๊ธฐ๋๋ฌธ์
์ฌ๊ธฐ์ ์ฃผ๋ฌธ๋ฒํธ(์ธ์กฐ์๋ณ์)๋ฅผ ์ถ๊ฐ๋ฅผํ๊ฒ๋๋ฉด ์ฃผ๋ฌธ๋ฒํธ(์ธ์กฐ์๋ณ์)๋ฅผ ํตํด ์๋ฒ๋ ์ ๋ฆฌ๋๋ฉฐ
์ฌ์ฉ์๊ฐ ์ธ์ ๋ญ๋ฅผ ๊ตฌ๋งค๋ฅผํ ์์๋์ง ์์์๊ฒ๋ฉ๋๋ค.
์ถ๊ฐ์ ์ผ๋ก ์์ด๋(์ฃผ์๋ณ์=์ฌ๋ฒ),์ฃผ๋ฌธ์ผ์(์ฃผ์๋ณ์) ์ฃผ์๋ณ์๊ฐ ๋๊ฐ์ด๋ฏ๋ก ๋ณตํฉ์๋ณ์ AND
๋ณธ์ง์๋ณ์๋ ์
๋ฌด์ ์ํด ๋ง๋ค์ด์ง๋ ๊ฐ๊ณต๋์ง ์๋ ์๋์ ์๋ณ์์
๋๋ค.
์ฌ์์ํฐํฐ๊ฐ ๋ง๋ค์ด์ง๋ฉด์ ์
๋ฌด์ ์ผ๋ก ์์ฐ์ค๋ฝ๊ฒ ์์ฑ์ด ๋๋๊ฒ ์ฌ๋ฒ์ด๋ฏ๋ก ๋ณธ์ง์๋ณ์๋ ๋ฉ๋๋ค.
๐ก๋ถ์๋ ์ฌ์์ด ์ ์ ์ผ๋ก ์ด์ด์ง๋๊ฒ์ ๋น์๋ณ์์ด๊ธฐ ๋๋ฌธ์
๋๋ค.
๋น์๋ณ์๋ ์ฌ์(์์)๋
๋ฆฝ์ ์ผ๋ก ๊ตฌ์ฑํ๋ฉด ์ ์ ์ผ๋ก ํ์ํฉ๋๋ค
๋ง์ฝ์ ๊ต์ก์ด๋ ฅ์ํฐํฐ๊ฐ ์กด์ฌํ๋ค๋ ๊ณผ์ ํ์ ๊ต์ก์ด๋ ฅ์ํฐํฐ์๋ ์ฌ๋ฒ(FK),์๊ฐ์ผ์ ์ฃผ์๋ณ์ ์ผ๊ฒฝ์ฐ
์ค์ ์ผ๋ก โโโโโโโโ ํ์๊ฐ ๋ฉ๋๋ค.
์๋ณ์๋ ์ฌ์(๋ถ๋ชจ) ์ฃผ์๋ณ์ ๊ตฌ์ฑ์ ๊ต์ก์ด๋ ฅ(์์) ํฌํจ์ด ํ์ํ๋ฉด ์๋ณ์๊ฐ๋ฉ๋๋ค.
์ฝ๊ฒ๋งํ๋ฉด ๋ค๋ฅธ ์ํฐํฐ ์ฃผ์๋ณ์๋ฅผ ์ฌ์ฉ์ํ๊ณ ๋
๋ฆฝ์ ์ผ๋ก ์ํฐํฐ๊ตฌ์ฑ์ ํ ์์์ผ๋ฉด ๋น์๋ณ์ ์ ์ ์ผ๋ก ํ์ํ๊ณ
๋ถ๋ชจ์ํฐํฐ ์ฃผ์๋ณ์๋ฅผ ๊ฐ์ง๊ณ ์์ ์ฌ์ฉํด์ผ๋งํ๋ฉด ์๋ณ์ ์ค์ ์ผ๋ก ํ์ํฉ๋๋ค.
โ:0๊ฐ , โ:1๊ฐ , ์ผ์ง์ฐฝ๊ฐ์๊ฑด ์ฌ๋ฌ๊ฐ ์ด๊ฑฐ๋ฅผ ํ์ดํ๋ฉด ๋ถ์์ ์ฌ์์ด ์์์๋์๊ณ ํ๋ช
์ผ์๋์๊ณ ์ฌ๋ฌ๋ช
์ด ์์ ์ ์๋ค๋ ๋ป.
๋ฌธ์ 7. ์์ฑ์ ํน์ง์ผ๋ก ๊ฐ์ฅ ์ฌ๋ฐ๋ฅธ ๊ฒ์?
1) ์ํฐํฐ๋ ํ ๊ฐ์ ์์ฑ๋ง์ผ๋ก ๊ตฌ์ฑ๋ ์ ์๋ค. 2) ์ํฐํฐ๋ฅผ ์ค๋ช ํ๊ณ ์ธ์คํด์ค์ ๊ตฌ์ฑ์์๊ฐ ๋๋ค. 3) ํ๋์ ์์ฑ์๋ ์ฌ๋ฌ๊ฐ์ ์์ฑ๊ฐ์ ๊ฐ์ง ์ ์๋ค. 4) ์์ฑ์ ํน์ฑ์ ๋ฐ๋ฅธ ๋ถ๋ฅ์๋ PK์์ฑ, FK์์ฑ, ์ผ๋ฐ์์ฑ์ด ์๋ค. |
์ ๋ต: (3๋ฒ)
ํด์ค:
1) ์ํฐํฐ๋ 2๊ฐ ์ด์์ ์์ฑ์ผ๋ก ๊ตฌ์ฑ
2) ์ํฐํฐ๋ฅผ ์ค๋ช ํ๊ณ , ์ธ์คํด์ค์ ๊ตฌ์ฑ์์์ด๋ค. O
3) ํ๋์ ์์ฑ์ ํ๋์ ๊ฐ์ ๊ฐ๋๋ค.
4) ์์ฑ์ ํน์ฑ : ๊ธฐ๋ณธ ์์ฑ (๋ชจ๋ ์ผ๋ฐ์ ์์ฑ)
์ค๊ณ ์์ฑ (์๋ก ๋ง๋ ๋ค.)
ํ์ ์์ฑ (์ํฅ์๋ฐ์ ๋ฐ์, ๋น ๋ฅธ ์ฑ๋ฅ, ๊ณ์ฐ)
๋ฌธ์ 8. ์๋์ ๋ด์ฉ์ ์ฃผ์๋ณ์์ ์ด๋ค ํน์ง์ ์ค๋ช ํ ๊ฒ์ธ๊ฐ?
1) ์ ์ผ์ฑ 2) ์ต์์ฑ 3) ๋ถ๋ณ์ฑ 4) ์กด์ฌ์ฑ |
์ ๋ต: (2๋ฒ)
๋ฌธ์ 9. ๋ค์ ์ค ์ํฐํฐ๊ฐ์ ๊ด๊ณ์์ 1:1, 1:M๊ณผ ๊ฐ์ด ๊ด๊ณ์ ๊ธฐ์์ฑ์ ๋ํ๋ด๋ ๊ฒ์ผ๋ก ๊ฐ์ฅ ์ ์ ํ ๊ฒ์?
- ๋ ธ๋ญ์ด 1๊ณผ๋ชฉ 22๋ฒ
1. ๊ด๊ณ๋ช
(Relationsip Membership)
2. ๊ด๊ณ์ฐจ์(Relationship Degree/Cardinality)
3. ๊ด๊ณ์ ํ์ฌ์(Relationship Optionality)
4. ๊ด๊ณ์ ์(Relationship Definition)
์ ๋ต: 2๋ฒ
๋ฌธ์ 10. ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ชจ๋ธ๋ง์ ๋ณด๊ณ ๋ค์ ๋ณด๊ธฐ ์ค์์ ์ค๋ช ์ด ์ฌ๋ฐ๋ฅด์ง ์์๊ฒ์?
(39ํ ๊ธฐ์ถ 7๋ฒ๊ณผ ์ ์ฌ)
๊ณ์ ์ ๋ฐ๋์ ๊ณ์ ๊ทธ๋ฃน ํ๋์ ์ํด์ผํ๋ค (2๋ฒ)
โ
*2๊ณผ๋ชฉ*
์์์๊ดX
๋ฌธ์ 11. โ WHERE ๋น๊ต ์ฐ์ฐ์ ํด์
SELECT ์ ์์ด๋ฆ FROM ์ ์ WHERE ํค >= 185
1) ํค๊ฐ 185 ๋ฏธ๋ง์ธ ์ ์์ด๋ฆ 2) ํค๊ฐ 185 ์ด๊ณผ์ธ ์ ์์ด๋ฆ 3) ํค๊ฐ 185 ์ดํ์ธ ์ ์์ด๋ฆ 4) ํค๊ฐ 185 ์ด์์ธ ์ ์์ด๋ฆ |
์ ๋ต: 4๋ฒ 185์ด์
๋ฌธ์ 12. โ ๋ค์ ์ค SELECT ๋ฌธ์ฅ์ ์คํ ์์๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ๋์ดํ ๊ฒ์?
-๋ ธ๋ญ์ด๊ธฐ์ถ59๋ฒ
1. SELECT - FROM - WHERE - GROUP BY - HAVING - ORDER BY
2. FROM - SELECT - WHERE - GROUP BY - HAVING - ORDER BY
3. FROM - WHERE - GROUP BY - HAVING - ORDER BY - SELECT
4. FROM - WHERE - GROUP BY - HAVING - SELECT - ORDER BY
์ ๋ต: F - W - G - H - S - O / 4๋ฒ
๋ฌธ์ 13. โ ์๋์ ์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ ์ด๋ธ์ ์ผ๋ถ์์ ๋ฐ์ค ์น ์์ฑ๋ค์ ํ ์ด๋ธ์ ๊ธฐ๋ณธํค์ด๋ฉฐ ์ถ์ฐ๋ฃ๊ฐ 8888 ์ด์์ธ ์ํ๋ช , ๋ฐฐ์ฐ๋ช , ์ถ์ฐ๋ฃ๋ฅผ ๊ตฌํ๋ SQL๋ก ๊ฐ์ฅ ์ ์ ํ ๊ฒ์?
- ๋ ธ๋ญ์ด๊ธฐ์ถ62๋ฒ
[TABLE]
๋ฐฐ์ฐ (๋ฐฐ์ฐ๋ฒํธ, ๋ฐฐ์ฐ๋ช
, ์ฑ๋ณ)
์ํ (์ํ๋ฒํธ, ์ํ๋ช
, ์ ์๋
๋)
์ถ์ฐ (๋ฐฐ์ฐ๋ฒํธ, ์ํ๋ฒํธ, ์ถ์ฐ๋ฃ)
1. SELECT ์ถ์ฐ.์ํ๋ช
, ์ํ.๋ฐฐ์ฐ๋ช
, ์ถ์ฐ.์ถ์ฐ๋ฃ
FROM ๋ฐฐ์ฐ, ์ํ, ์ถ์ฐ
WHERE ์ถ์ฐ๋ฃ >= 8888
AND ์ถ์ฐ.์ํ๋ฒํธ = ์ํ.์ํ๋ฒํธ
AND ์ถ์ฐ.๋ฐฐ์ฐ๋ฒํธ = ๋ฐฐ์ฐ.๋ฐฐ์ฐ๋ฒํธ;
2. SELECT ์ํ.์ํ๋ช
, ๋ฐฐ์ฐ.๋ฐฐ์ฐ๋ช
, ์ถ์ฐ๋ฃ
FROM ์ํ, ๋ฐฐ์ฐ, ์ถ์ฐ
WHERE ์ถ์ฐ.์ถ์ฐ๋ฃ > 8888
AND ์ถ์ฐ.์ํ๋ฒํธ = ์ํ.์ํ๋ฒํธ
AND ์ํ.์ํ๋ฒํธ = ๋ฐฐ์ฐ.๋ฐฐ์ฐ๋ฒํธ;
3. SELECT ์ํ๋ช
, ๋ฐฐ์ฐ๋ช
, ์ถ์ฐ๋ฃ
FROM ๋ฐฐ์ฐ, ์ํ, ์ถ์ฐ
WHERE ์ถ์ฐ๋ฃ >= 8888
AND ์ํ๋ฒํธ = ์ํ.์ํ๋ฒํธ
AND ๋ฐฐ์ฐ๋ฒํธ = ๋ฐฐ์ฐ.๋ฐฐ์ฐ๋ฒํธ;
4. SELECT ์ํ.์ํ๋ช
, ๋ฐฐ์ฐ.๋ฐฐ์ฐ๋ช
, ์ถ์ฐ๋ฃ
FROM ๋ฐฐ์ฐ, ์ํ, ์ถ์ฐ
WHERE ์ถ์ฐ๋ฃ >= 8888
AND ์ถ์ฐ.์ํ๋ฒํธ = ์ํ.์ํ๋ฒํธ
AND ์ถ์ฐ.๋ฐฐ์ฐ๋ฒํธ = ๋ฐฐ์ฐ.๋ฐฐ์ฐ๋ฒํธ;
์ ๋ต: 4๋ฒ
๋ฌธ์ 14. โ ๊ฐ๊ฐ์ฐฌ ๋ณ์ฌ๋ (1๋ฒ) ๋ ธ๋ญ์ด๊ธฐ์ถ117๋ฒ
- ๋ค์ ์ค [์ฌ์] ํ ์ด๋ธ์ ๋ํ์ฌ ์๋์ ๊ฐ์ SQL์ ์ํํ์์ ๋ ์์๋๋ ๊ฒฐ๊ณผ๋ก ๊ฐ์ฅ ์ ์ ํ ๊ฒ์?
[TABLE : ์ฌ์]
์ฌ์ID ๋ถ์ID ์ฌ์๋ช
์ฐ๋ด
--------------------------
001 100 ํ๊ธธ๋ 2500
002 100 ๊ฐ๊ฐ์ฐฌ 3000
003 200 ๊น์ ์ 4500
004 200 ๊น์ ๋ฌ 3000
005 200 ์ ํ์ 2500
006 300 ๋ณ์ฌ๋ 4500
007 300 ๋ฐ๋ฌธ์ 3000
[SQL]
SELECT Y.์ฌ์ID, Y.๋ถ์ID, Y.์ฌ์๋ช
, Y.์ฐ๋ด
FROM (SELECT ์ฌ์ID, MAX(์ฐ๋ด)
OVER(PARTITION BY ๋ถ์ ID) AS ์ต๊ณ ์ฐ๋ด
FROM ์ฌ์) X, ์ฌ์ Y
WHERE X.์ฌ์ID = Y.์ฌ์ID
AND X.์ต๊ณ ์ฐ๋ด = Y.์ฐ๋ด;
1.
์ฌ์ID ๋ถ์ID ์ฌ์๋ช
์ฐ๋ด
-------------------------
002 100 ๊ฐ๊ฐ์ฐฌ 3000
003 200 ๊น์ ์ 4500
006 300 ๋ณ์ฌ๋ 4500
2.
์ฌ์ID ๋ถ์ID ์ฌ์๋ช
์ฐ๋ด
-------------------------
001 100 ํ๊ธธ๋ 2500
005 200 ์ ํ์ 2500
007 300 ๋ฐ๋ฌธ์ 3000
3.
์ฌ์ID ๋ถ์ID ์ฌ์๋ช
์ฐ๋ด
-------------------------
003 200 ๊น์ ์ 4500
006 300 ๋ณ์ฌ๋ 4500
4.
์ฌ์ID ๋ถ์ID ์ฌ์๋ช
์ฐ๋ด
-------------------------
004 200 ๊น์ ์ 4500
๋ฌธ์ 15. โ ์ํ์ฝ๋๋ถ๋ฅ๋ณ -10000~+10000 (3๋ฒ) ๋ ธ๋ญ์ด๊ธฐ์ถ116๋ฒ
- ๋ค์ ์ค ์๋์ SQL์ ๋ํ ์ค๋ช ์ผ๋ก ๊ฐ์ฅ ์ ์ ํ ๊ฒ์?
[SQL]
SELECT ์ํ๋ถ๋ฅ์ฝ๋
,AVG(์ํ๊ฐ๊ฒฉ) AS ์ํ๊ฐ๊ฒฉ
,COUNT(*) OVER(ORDER BY AVG(์ํ๊ฐ๊ฒฉ)
RANGE BETWEEN 10000 PRECEDING
AND 10000 FOLLOWING) AS ์ ์ฌ๊ฐ์
FROM ์ํ
GROUP BY ์ํ๋ถ๋ฅ์ฝ๋;
1. WINDOW FUNCTION์ GROUP BY ์ ๊ณผ ํจ๊ป ์ฌ์ฉํ์์ผ๋ฏ๋ก ์์ SQL์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค. 2. WINDOW FUNCTION์ ORDER BY ์ ์ AVG ์ง๊ณ ํจ์๋ฅผ ์ฌ์ฉํ์์ผ๋ฏ๋ก ์์ SQL์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค. 3. ์ ์ฌ๊ฐ์ ์ปฌ๋ผ์ ์ํ๋ถ๋ฅ์ฝ๋๋ณ ํ๊ท ์ํ๊ฐ๊ฒฉ์ ์๋ก ๋น๊ตํ์ฌ -10000 ~ +10000 ์ฌ์ด์ ์กด์ฌํ๋ ์ํ๋ถ๋ฅ์ฝ๋์ ๊ฐ์๋ฅผ ๊ตฌํ ๊ฒ์ด๋ค. 4. ์ ์ฌ๊ฐ์ ์ปฌ๋ผ์ ์ํ์ ์ฒด์ ํ๊ท ์ํ๊ฐ๊ฒฉ์ ์๋ก ๋น๊ตํ์ฌ -10000 ~ +10000 ์ฌ์ด์ ์กด์ฌํ๋ ์ํ์ ๊ฐ์๋ฅผ ๊ตฌํ ๊ฒ์ด๋ค. |
[ํด์ค]
GROUP BY ์ ์ ์งํฉ์ ์๋ณธ์ผ๋ก ํ๋ ๋ฐ์ดํฐ๋ฅผ WINDOW FUNCTION๊ณผ ํจ๊ป ์ฌ์ฉํ๋ค๋ฉด
GROUP BY ์ ๊ณผ ํจ๊ป WINDOW FUNCTION์ ์ฌ์ฉํ๋ค๊ณ ํ๋๋ผ๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ง ์์ผ๋ฉฐ,
์ ์ฌ๊ฐ์ ์ปฌ๋ผ์ ์ํ๋ถ๋ฅ์ฝ๋๋ก GROUPING๋ ์งํฉ์ ์๋ณธ์งํฉ์ผ๋ก ํ์ฌ ์ํ๋ถ๋ฅ์ฝ๋๋ณ ํ๊ท ์ํ๊ฐ๊ฒฉ์
์๋ก ๋น๊ตํ์ฌ ํ์ฌ ์ฝํ์ง ์ํ๋ถ๋ฅ์ฝ๋์ ํ๊ท ๊ฐ๊ฒฉ ๋๋น -10000 ~ +10000์ฌ์ด์ ์กด์ฌํ๋ ์ํ๋ถ๋ฅ์ฝ๋์
๊ฐ์๋ฅผ ๊ตฌํ ๊ฒ์ด๋ค.
๋ฌธ์ 16. โ 200 50 300 100 (2๋ฒ) ๋ ธ๋ญ์ด๊ธฐ์ถ58๋ฒ
- ๋ค์ SQL์ ์คํ ๊ฒฐ๊ณผ๋ก ๊ฐ์ฅ ์ ์ ํ ๊ฒ์?
[TABLE - TBL]
ID AMT
-----------
A 50
A 200
B 300
C 100
[SQL]
SELECT ID, AMT
FROM TBL
ORDER BY (CASE WHEN ID = 'A' THEN 1 ELSE 2 END),
AMT DESC;
1. 2.
ID AMT ID AMT
--------- ---------
B 300 A 200
A 200 A 50
C 100 B 300
A 50 B 100
3. 4.
ID AMT ID AMT
--------- ---------
A 50 B 300
C 100 A 200
A 200 A 50
B 300 C 100
๋ฌธ์ 17. โ ๊ฐ์ด ์ ์ผ ํฐ ๊ฒ์? Ceil (4๋ฒ)
๋ฌธ์ 18. โ ADD ์ปฌ๋ผ๋ช DATE DEFAULT '๋ ์ง‘ NOT NULL (COLUMN ์๋๋ผ๊ณ ํฉ๋๋ค)
๋ฌธ์ 19. โ ๋ค์ค ์ปฌ๋ผ ์๋ธ์ฟผ๋ฆฌ (4๋ฒ)
๋ฌธ์ 20. โ 6์ (JUNE) (4๋ฒ)
๋ฌธ์ 21. โ between 21์ผ ๋์ค๋๊ฑฐ (3๋ฒ)
๋ฌธ์ 22. โ 45๋ฒ. dense_rank, rank, first_value 2000 1500 1500 1500 (3๋ฒ)
๋ฌธ์ 23. โ ์์์ฑ / ๊ฒฉ๋ฆฌ์ฑ / ์ผ๊ด์ฑ / ์ง์์ฑ (3๋ฒ)
๋ฌธ์ 24. โ 44๋ฒ. sum A>=B 10 10 10 10 -> 100 (3๋ฒ)
๋ฌธ์ 25. โ not null.unique (4๋ฒ)
๋ฌธ์ 26. โ ntile(2) 1 4 2 3 (3๋ฒ)
๋ฌธ์ 27. โ ๊ฐ์๊ฐ ๋ค๋ฅธ๊ฒ์? row number=2 / <=2 / (1,2) / 1or2 (1๋ฒ)
๋ฌธ์ 28. โ rollback 3 (3๋ฒ) ๋ ธ๋ญ์ด๊ธฐ์ถ31๋ฒ
- ์๋์ ๊ฐ์ ํ ์ด๋ธ์ SQL๊ตฌ๋ฌธ์ด ์คํ๋์์ ๊ฒฝ์ฐ ์ต์ข ์ถ๋ ฅ ๊ฐ์ ์์ฑํ์์ค.
[TABLE - ํ๋ชฉ]
ํ๋ชฉID ๋จ๊ฐ
------------
001 1000
002 2000
003 1000
004 2000
[SQL]
BEGIN TRANSACTION
INSERT INTO ํ๋ชฉ(ํ๋ชฉID, ๋จ๊ฐ) VALUES('005', 2000)
COMMIT
BEGIN TRANSACTION
DELETE ํ๋ชฉ WHERE ํ๋ชฉID='002'
BEGIN TRANSACTION
UPDATE ํ๋ชฉ SET ๋จ๊ฐ=2000 WHERE ๋จ๊ฐ=1000
ROLLBACK
SELECT COUNT(ํ๋ชฉID) FROM ํ๋ชฉ WHERE ๋จ๊ฐ=2000
1. 0 2. 2 3. 3 4. 4 |
[ํด์ค]
ROLLBACK ๊ตฌ๋ฌธ์ COMMIT๋์ง ์์ ์์์ ๋ชจ๋ TRANSACTION์ ๋ชจ๋ ROLLBACKํ๋ค.
๋ฌธ์ 29. โ rollup(A,B) (2๋ฒ ์ด๊ณ๊น์ง ๋ค ๋์ค๋๊ฑฐ)
๋ฌธ์ 30. โ ์๋ ์ฟผ๋ฆฌ๋ฌธ์ ๊ฒฐ๊ณผ๊ฐ์ ๊ณ ๋ฅด์์ค. / level<=2 : 0 / 1 / 2 / null (3๋ฒ)
[SQL]
SELECT COUNT(*) FROM DUAL WHERE LEVEL<=2;
1. 0
2. 1
3. 2
4. NULL
๋ฌธ์ 31. โ ๊ฐ์๊ฐ ๋ค๋ฅธ๊ฒ์? count(3) (1๋ฒ)
๋ฌธ์ 32. โ cascade fk์ญ์ (2๋ฒ) -------------------์ ๋ต์ฌ๋ถ ๋ ผ๋?
๋ฌธ์ 33. โ ์๊ณ (1๋ฒ ''๋์ค๋๊ฑฐ)
๋ฌธ์ 34. โ search case expressions๋ ๋ฐ๋ก๋ค์ ์ปฌ๋ผ? ๋ถ๋๋ค (4๋ฒ)
๋ฌธ์ 35. โ view alter (1๋ฒ)
๋ฌธ์ 36. โ union. union all 9,10 (4๋ฒ)
๋ฌธ์ 37. โ trim REPLACE -> trim์ด ๋ต
๋ฌธ์ 38. โ ESCAPE 6
๋ฌธ์ 39. โ CROSS JOIN (1๋ฒ)
๋ฌธ์ 40. โ ์๋ฐฉํฅ์ด์ฉ๊ณ -> ๋์ด๋ฉด ์ ๊ฐ์ํ๋ค (2๋ฒ)
๋ฌธ์ 41. โ ๋ฐ์ดํฐ๋ถ์ํจ์ ์ข ๋ฅ user defined(1๋ฒ)
๋ฌธ์ 42. โ order by 2 (4๋ฒ)
๋ฌธ์ 43. โ ํ10 ์๋ธ์ฟผ๋ฆฌ ์์ order by๊ฐ ์์ด์ผํ๋ค (3๋ฒ)
๋ฌธ์ 44. โ ์ฌ๋ฐ๋ฅธ ๊ฒฐ๊ณผ๊ฐ ์ฐพ๊ธฐ. ๋ณด๊ธฐ๊ฐ ์ ๋ถ 4x2 ํ๋ก ๊ตฌ์ฑ. ๊ฒฐ๊ณผ๊ฐ์ด null์ธ์ง ์ซ์์ธ์ง ์ฐพ๋ ๋ฌธ์
(๋ฐ์ ํ๋ ์์. ์ ๋ตX) (๋ต 2๋ฒ์ด๋ผ๋ ์๊ฒฌ ๋ค์)
count
|
Min
|
Max
|
...
|
5
|
1
|
A
|
3
|
๋ฌธ์ 45. โ ์๋ธ์ฟผ๋ฆฌ-๋ฉ์ธ์ฟผ๋ฆฌ ๋ฌธ์ (๋ฉ์ธ์ฟผ๋ฆฌ๋ ์๋ธ์ฟผ๋ฆฌ ์ปฌ๋ผ ์ธ ์ ์๋ค / 2๋ฒ Select์ ์ ์ด์ฉ๊ณ ํ๋ฉด ๋ค์ค์ปฌ๋ผ ์๋ธ์ฟผ๋ฆฌ๊ฐ ์ฌ ์ ์๋ค / 4๋ฒ ์๋ธ์ฟผ๋ฆฌ ๋ ๋ฒจ์ ํญ์ ๋ฉ์ธ์ฟผ๋ฆฌ์ ์ํฅ์ ๋ฐ๋๋ค) (๋ต 2๋ฒ์ด๋ผ๋ ์๊ฒฌ ๋ค์)
โ
โ
*์ฃผ๊ด์*
๋ฌธ์ 46. ์๋ T1ํ ์ด๋ธ์ SQL ์คํ ํ ๊ฒฐ๊ณผ๊ฐ์ ์์ฑํ์์ค.
[T1]
COL1 COL2 COL3
--------------------
10 NULL 10
NULL 50 10
0 10 10
[SQL]
ใฑ. SELECT SUM(col2) FROM T1;
ใด. SELECT SUM(col2) FROM T1 WHERE col1 > 0;
ใท. SELECT SUM(col2) FROM T1 WHERE col1 IS NOT NULL;
ใน. SELECT SUM(col2) FROM T1 WHERE col1 IS NULL;
์ ๋ต:
ใฑ) 60
ใด) NULL
ใท) 10
ใน) 50
๋ฌธ์ 47. ORDER BY ํ ๊ฒฐ๊ณผ๋ก 3๋ฒ์งธ ์ค๋ ๊ฐ์ ์์ฑํ์์ค.
[TAB1]
ID
----
1
2
3
4
[SQL]
SELECT ID FROM TAB1
ORDER BY (CASE WHEN ID IN(1, 3) THEN ID*3 ELSE ID END) DESC;
์ ๋ต:1
๋ฌธ์ 48. START WITH CONNECT BY ์ํ ๊ฒฐ๊ณผ๋ก LEVEL = 2 ์ธ ๊ฒ์ ๊ฐ์๋ฅผ ๊ตฌํ๋ ๋ฌธ์
์ ๋ต: 3
๋ฌธ์ 49. WINDOWS FUNCTION LAG/LEAD ๊ตฌ๋ถํ๋ ๋ฌธ์
๊ฒฐ๊ณผ ํ ์ด๋ธ์ด ์ฃผ์ด์ ธ ์๊ณ LAG/LEAD ํจ์๋ฅผ ๋ฃ๋ ์๋ฆฌ์ ๋น์นธ์ด ๋์ด์์
์ ๋ต: LAG
๋ฌธ์ 50. ๋น์นธ ์ฑ์ฐ๊ธฐ GRANT INSERT() TABLE์ด๋ฆ () USER์ด๋ฆ;
์ ๋ต: ON, TO
๋ฌธ์ /์ ๋ต ์ถ์ฒ :
๊ฒฝ๊ณตN์ก๋ฌ ๋์ ํฐ์คํ ๋ฆฌ
๋ฐ์ดํฐ ์ ๋ฌธ๊ฐ ํฌ๋ผ '์ผ์ด 1208' ๋ ์ธ ํ์๋๋ค
'IT์๊ฒฉ์ฆ ๊ณต๋ถ > SQLD ์์๋ณต์' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[SQLD] 2023๋ SQLD 50ํ ๊ธฐ์ถ๋ณต์ (1๊ณผ๋ชฉ/2๊ณผ๋ชฉ) (7) | 2023.09.09 |
---|---|
[SQLD] 2023๋ SQLD 49ํ ๊ธฐ์ถ๋ณต์ ( 1๊ณผ๋ชฉ/2๊ณผ๋ชฉ ) (16) | 2023.06.10 |
[SQLD] 47ํ SQLD ( 1๊ณผ๋ชฉ/2๊ณผ๋ชฉ ์ ๋ต ) (4) | 2022.11.07 |
[SQLD] 46ํ SQLD ( 1๊ณผ๋ชฉ/2๊ณผ๋ชฉ ์ ๋ต ) (3) | 2022.09.05 |
[SQLD] 45ํ ๊ธฐ์ถ ๋ต์ ์์๋ณต์/ํด์ค (1) | 2022.05.29 |