๐Ÿ’ผ ์ž๊ฒฉ์ฆ/SQLD

[SQLD] ๊ธฐ์ถœ๋ฌธ์ œ ๋ชจ์Œ, ์˜ค๋‹ต๋…ธํŠธ

์—ฐ_์šฐ๋ฆฌ 2021. 11. 11. 16:33
๋ฐ˜์‘ํ˜•

 

๊ธฐ์ถœ๋ฌธ์ œ ๋ฌธ์ œํ˜•์‹์œผ๋กœ ํ’€๊ธฐ๐Ÿ‘‡๐Ÿ‘‡

SQLD๊ธฐ์ถœ๋ฌธ์ œ๐Ÿ˜Ž

https://quizlet.com/_al0e64?x=1jqt&i=24fjuj

 

 

๊ณ„์ธตํ˜• ์งˆ์˜ ๋ฌธ์ œํ’€์ด SQLD 34ํšŒ 19๋ฒˆ

1๋ฒˆ
START WITH N2 IS NULL : n2๊ฐ€ null์ธ ๊ฒƒ์ด ๋ฃจํŠธ์ด๋‹ค (1, NULL, A, NULL)
CONNECT BY PRIOR N1 = N2 : ์ด์ „ N1๊ณผ ํ˜„์žฌ N2๊ฐ€ ๊ฐ™์€ ๋ชจ๋“  ํ–‰์„ ๊ฐ€์ ธ์˜จ๋‹ค. (๋ชจ๋“  ํ–‰)

WHERE N1 = 4 : ์„ ํƒ๋œ ํ–‰ ์ค‘ N1์ด 4์ธ ๊ฒƒ (4, 2, D, B)

2๋ฒˆ
START WITH C2=B : C2๊ฐ€ B์ธ ๊ฒƒ์ด ๋ฃจํŠธ์ด๋‹ค (4, 2, D, B)
CONNECT BY PRIOR N1 = N2 AND C2 <> D : ์ด์ „ N1๊ณผ ํ˜„์žฌ N2๊ฐ€ ๊ฐ™์€ ๋ชจ๋“  ํ–‰์„ ๊ฐ€์ ธ์˜ค๋ฉด์„œ C2๊ฐ’์ด D๊ฐ€ ์•„๋‹ˆ์–ด์•ผํ•œ๋‹ค.
ํ•˜์ง€๋งŒ C2๊ฐ’์ด D๊ฐ€ ๋˜๋ฉด์„œ ์ข…๋ฃŒ๋œ๋‹ค. (4, 2, D, B)


3๋ฒˆ
START WITH C1=B : C1์ด B์ธ ๊ฒƒ์ด ๋ฃจํŠธ (2, 1, B, A)
CONNECT BY PRIOR N1 = N2 ADN PRIOR C2 = B : ์ด์ „ N1๊ฐ’๊ณผ ํ˜„์žฌ N2๊ฐ€ ๊ฐ™์€ ๋ชจ๋“  ํ–‰์„ ๊ฐ€์ ธ์˜ค๋ฉด์„œ ์ด์ „ C2๊ฐ’์ด B์ด์–ด์•ผ ํ•œ๋‹ค.
2๋กœ ์—ฐ๊ฒฐ๋˜์–ด (4, 2, D, B)๋กœ ์ด๋™ ๊ฐ€๋Šฅํ–ˆ์œผ๋‚˜, ์ด์ „ ํ–‰์˜ C2๊ฐ’์„ ํ™•์ธํ–ˆ๋”๋‹ˆ A์ด์–ด์„œ ์ด๋™ ๋ถˆ๊ฐ€!!!
๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋Š” ํ–‰์€ (2, 1, B, A)


4๋ฒˆ
START WITH N1=2 : N1์ด 2์ธ ๊ฒƒ์ด ๋ฃจํŠธ
CONNECT BY PRIOR N1 = N2 AND PRIOR N1 = 2 : ์ด์ „ N1๊ณผ ํ˜„์žฌ N2๊ฐ€ ๊ฐ™์€ ๋ชจ๋“  ํ–‰์„ ๊ฐ€์ ธ์˜ค๋ฉด์„œ ์ด์ „ N1๊ฐ’์ด 2์ด์–ด์•ผ ํ•œ๋‹ค.
2๋กœ ์—ฐ๊ฒฐ๋˜์–ด (4, 2, D, B)๋กœ ์ด๋™ ๊ฐ€๋Šฅํ•˜๋ฉด์„œ, ์ด์ „ ํ–‰์˜ N1๊ฐ’์„ ํ™•์ธํ–ˆ๋”๋‹ˆ 2์ด์–ด์„œ ์ด๋™ ๊ฐ€๋Šฅ!
4๋กœ ์—ฐ๊ฒฐ๋˜์–ด (5, 4, E, D)๋กœ ์ด๋™ ๊ฐ€๋Šฅํ–ˆ์œผ๋‚˜, ์ด์ „ ํ–‰์˜ N1๊ฐ’์„ ํ™•์ธํ–ˆ๋”๋‹ˆ 4์ด์–ด์„œ ์ด๋™ ๋ถˆ๊ฐ€!
๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋Š” ํ–‰์€ (2, 1, B, A), (4, 2, D, B)

WHERE C1 <> B : ๊ฐ€์ ธ์˜จ ํ–‰ ์ค‘ C1๊ฐ’์ด B๊ฐ€ ์•„๋‹Œ ๊ฒƒ (4, 2, D, B)


=> ์ •๋‹ต์€ 3๋ฒˆ


์กฐ์ธ ๋ฌธ์ œํ’€์ด SQLD 34ํšŒ 26๋ฒˆ

(+) ๋Š” OUTER JOIN์„ ์˜๋ฏธํ•˜๋ฉฐ, ๊ธฐํ˜ธ๊ฐ€ ์•ˆ๋ถ™์€ ์ชฝ์ด ๊ธฐ์ค€์ด ๋œ๋‹ค!
WHERE T1.COL1 LEFT JOIN T2.COL1 AND T2.COL1 LEFT JOIN T3.COL1 AND T3.COL1 INNER JOIN T4.COL1

=> ์ •๋‹ต 1


๊ณ„์ธตํ˜• ์งˆ์˜ ๋ฌธ์ œํ’€์ด SQLD 30ํšŒ 45๋ฒˆ


START WITH ์ƒ์œ„๊ณ„์ธต๋ฒˆํ˜ธ IS NULL : (1, NULL), (2, NULL) ์ด ๋ฃจํŠธ์ด๋‹ค.
CONNECT BY ๊ณ„์ธต๋ฒˆํ˜ธ = PRIOR ์ƒ์œ„๊ณ„์ธต๋ฒˆํ˜ธ : ํ˜„์žฌ์˜ ๊ณ„์ธต๋ฒˆํ˜ธ์™€ ์ด์ „์˜ ์ƒ์œ„๊ณ„์ธต๋ฒˆํ˜ธ๊ฐ€ ๊ฐ™์€ ๋ชจ๋“  ํ–‰์„ ๊ฐ€์ ธ์˜จ๋‹ค
(4, 1)์ผ๋•Œ ๊ณ„์ธต๋ฒˆํ˜ธ๋Š” 4, ์ด์ „ ์ƒ์œ„๊ณ„์ธต๋ฒˆํ˜ธ๋Š” NULL => ํ•ด๋‹น์—†์Œ
(5, 1)์ผ๋•Œ ๊ณ„์ธต๋ฒˆํ˜ธ๋Š” 5, ์ด์ „ ์ƒ์œ„๊ณ„์ธต๋ฒˆํ˜ธ๋Š” 1 => ํ•ด๋‹น์—†์Œ
(6, 2)์ผ๋•Œ ๊ณ„์ธต๋ฒˆํ˜ธ๋Š” 6, ์ด์ „ ์ƒ์œ„๊ณ„์ธต๋ฒˆํ˜ธ๋Š” 1 => ํ•ด๋‹น์—†์Œ
(7, 2)์ผ๋•Œ ๊ณ„์ธต๋ฒˆํ˜ธ๋Š” 7, ์ด์ „ ์ƒ์œ„๊ณ„์ธต๋ฒˆํ˜ธ๋Š” 2 => ํ•ด๋‹น์—†์Œ
(8, 4)์ผ๋•Œ ๊ณ„์ธต๋ฒˆํ˜ธ๋Š” 8, ์ด์ „ ์ƒ์œ„๊ณ„์ธต๋ฒˆํ˜ธ๋Š” 2 => ํ•ด๋‹น์—†์Œ
(9, 5)์ผ๋•Œ ๊ณ„์ธต๋ฒˆํ˜ธ๋Š” 9, ์ด์ „ ์ƒ์œ„๊ณ„์ธต๋ฒˆํ˜ธ๋Š” 4 => ํ•ด๋‹น์—†์Œ
(10, 6)์ผ๋•Œ ๊ณ„์ธต๋ฒˆํ˜ธ๋Š” 10, ์ด์ „ ์ƒ์œ„๊ณ„์ธต๋ฒˆํ˜ธ๋Š” 6 => ํ•ด๋‹น์—†์Œ
(11, 7)์ผ๋•Œ ๊ณ„์ธต๋ฒˆํ˜ธ๋Š” 11, ์ด์ „ ์ƒ์œ„๊ณ„์ธต๋ฒˆํ˜ธ๋Š” 7 => ํ•ด๋‹น์—†์Œ

๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋Š” ํ–‰์€ ๋ฃจํŠธํ–‰(1, NULL), (2, NULL)๋ฐ–์— ์—†๋‹ค

๋ฐ˜์‘ํ˜•

'๐Ÿ’ผ ์ž๊ฒฉ์ฆ > SQLD' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[SQLD] 21.11.20 ์ œ43ํšŒ SQL๊ฐœ๋ฐœ์ž ํ›„๊ธฐ, ๊ณต๋ถ€๋ฐฉ๋ฒ•, ์ •๋ฆฌ๋ณธ, 43ํšŒ ์ถœ์ œ๋ฌธ์ œ  (5) 2021.11.20
[SQLD]๋ฐ์ดํ„ฐ๋ชจ๋ธ๊ณผ ์„ฑ๋Šฅ : ์„ฑ๋Šฅ๋ชจ๋ธ๋ง, ์ •๊ทœํ™”, ๋ฐ˜์ •๊ทœํ™”, ํŒŒํ‹ฐ์…”๋‹, ์Šˆํผ/์„œ๋ธŒํƒ€์ž… ์„ฑ๋Šฅ, PK/FK ์„ฑ๋Šฅ, ๋ถ„์‚ฐ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค  (0) 2021.11.11
[SQLD] SQL์ตœ์ ํ™”์™€ ๊ธฐ๋ณธ์›๋ฆฌ : ์˜ตํ‹ฐ๋งˆ์ด์ €, ์‹คํ–‰๊ณ„ํš, ์ธ๋ฑ์Šค, ํ…Œ์ด๋ธ” ์Šค์บ”, Nested Loop Join, Sort Merge Join, Hash Join  (0) 2021.11.10
[SQLD] SQL๊ธฐ๋ณธ&ํ™œ์šฉ : ํ•จ์ˆ˜, NULLํ•จ์ˆ˜, ๊ทธ๋ฃนํ•จ์ˆ˜, ์œˆ๋„์šฐํ•จ์ˆ˜, CASEํ‘œํ˜„์‹, ์ ˆ์ฐจํ˜• SQL, ํ”„๋กœ์‹œ์ €, ํ•จ์ˆ˜, ํŠธ๋ฆฌ๊ฑฐ  (0) 2021.11.10
[SQLD] SQL๊ธฐ๋ณธ&ํ™œ์šฉ : ์ง‘ํ•ฉ์—ฐ์‚ฐ์ž์™€ ์ˆœ์ˆ˜๊ด€๊ณ„์—ฐ์‚ฐ์ž, ์กฐ์ธ JOIN, ์กฐ์ธ ์ข…๋ฅ˜, ๊ณ„์ธตํ˜• ์งˆ์˜, ์„œ๋ธŒ์ฟผ๋ฆฌ SUB QUERY, ๋ทฐ VIEW  (0) 2021.11.08
  • ๋„ค์ด๋ฒ„ ๋ธ”๋Ÿฌ๊ทธ ๊ณต์œ ํ•˜๊ธฐ
  • ํŽ˜์ด์Šค๋ถ ๊ณต์œ ํ•˜๊ธฐ
  • ํŠธ์œ„ํ„ฐ ๊ณต์œ ํ•˜๊ธฐ
  • ๊ตฌ๊ธ€ ํ”Œ๋Ÿฌ์Šค ๊ณต์œ ํ•˜๊ธฐ
  • ์นด์นด์˜คํ†ก ๊ณต์œ ํ•˜๊ธฐ