๋ชฉ๋ก์ „์ฒด ๊ธ€ (208)

๐Ÿ’ป

Oracle DBMS ๋ฐ SQL - ์„œ๋ธŒ์ฟผ๋ฆฌ(SUBQUERY)

--SubQuery : SELECT ๋ฌธ ๋‚ด์— ๋˜ ๋‹ค๋ฅธ SELECT๋ฌธ์„ ํฌํ•จํ•  ์ˆ˜ ์žˆ๋‹ค. ํฌํ•จ SELECT ์„œ๋ธŒ์ฟผ๋ฆฌ๋ผ๊ณ  ํ•œ๋‹ค. -- 1) ๋‹จ์ผ์—ด/ ๋‹จ์ผํ–‰ (1ํ–‰ 1์—ด) -- 2) ๋‹จ์ผ์—ด/ ๋‹ค์ค‘ํ–‰ (2ํ–‰์ด์ƒ 1์—ด) -- 3) ๋‹ค์ค‘์—ด/ ๋‹จ์ผํ–‰ -- 4) ๋‹ค์ค‘์—ด/ ๋‹ค์ค‘ํ–‰ -- ์ฐธ๊ณ ) SubQuery ์ž‘์„ฑ์„ WHERE์ ˆ ๋˜๋Š” FROM์ ˆ์— ํ•œ๋‹ค. -- Join & SubQuery --์žญ์‚ฌ์›๊ณผ ๊ฐ™์€ ๋ถ€์„œ์— ๊ทผ๋ฌดํ•˜๋Š” ์‚ฌ์›์„ ๊ฒ€์ƒ‰/ ๋ถ€์„œ(๋ถ€์„œ๋ช…, ๋ถ€์„œ์ฝ”๋“œ) --1. ๋ถ€์„œ์ฝ”๋“œ๋ฅผ ์ด์šฉํ•˜๋Š” ๋ฐฉ๋ฒ• --2. ๋ถ€์„œ๋ช…์„ ์ด์šฉํ•˜๋Š” ๋ฐฉ๋ฒ• => Join์„ ํ•ด์•ผํ•œ๋‹ค. --1. ๋‹จ์ผํ–‰ * ๋‹จ์ผํ–‰(1ํ–‰ 1์—ด) WHERE --์‚ฌ์›๋“ค ์ค‘์—์„œ ์—ฐ๋ด‰์ด Jack ์‚ฌ์› ์—ฐ๋ด‰๋ณด๋‹ค ๋งŽ๊ณ , Lex์‚ฌ์›์˜ ์—ฐ๋ด‰๋ณด๋‹ค ์ ๊ฒŒ ๋ฐ›๋Š” ์‚ฌ์› ๊ฒ€์ƒ‰ -- Self Join ์œผ..

KITRI/ORACLE 2020. 4. 14. 14:46
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][2019 KAKAO ๋ธ”๋ผ์ธ๋“œ ์ฑ„์šฉ] ์‹คํŒจ์œจ

๋ฌธ์ œ ์„ค๋ช… ์‹คํŒจ์œจ ์Šˆํผ ๊ฒŒ์ž„ ๊ฐœ๋ฐœ์ž ์˜ค๋ ๋ฆฌ๋Š” ํฐ ๊ณ ๋ฏผ์— ๋น ์กŒ๋‹ค. ๊ทธ๋…€๊ฐ€ ๋งŒ๋“  ํ”„๋žœ์ฆˆ ์˜ค์ฒœ์„ฑ์ด ๋Œ€์„ฑ๊ณต์„ ๊ฑฐ๋’€์ง€๋งŒ, ์š”์ฆ˜ ์‹ ๊ทœ ์‚ฌ์šฉ์ž์˜ ์ˆ˜๊ฐ€ ๊ธ‰๊ฐํ•œ ๊ฒƒ์ด๋‹ค. ์›์ธ์€ ์‹ ๊ทœ ์‚ฌ์šฉ์ž์™€ ๊ธฐ์กด ์‚ฌ์šฉ์ž ์‚ฌ์ด์— ์Šคํ…Œ์ด์ง€ ์ฐจ์ด๊ฐ€ ๋„ˆ๋ฌด ํฐ ๊ฒƒ์ด ๋ฌธ์ œ์˜€๋‹ค. ์ด ๋ฌธ์ œ๋ฅผ ์–ด๋–ป๊ฒŒ ํ• ๊นŒ ๊ณ ๋ฏผ ํ•œ ๊ทธ๋…€๋Š” ๋™์ ์œผ๋กœ ๊ฒŒ์ž„ ์‹œ๊ฐ„์„ ๋Š˜๋ ค์„œ ๋‚œ์ด๋„๋ฅผ ์กฐ์ ˆํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค. ์—ญ์‹œ ์Šˆํผ ๊ฐœ๋ฐœ์ž๋ผ ๋Œ€๋ถ€๋ถ„์˜ ๋กœ์ง์€ ์‰ฝ๊ฒŒ ๊ตฌํ˜„ํ–ˆ์ง€๋งŒ, ์‹คํŒจ์œจ์„ ๊ตฌํ•˜๋Š” ๋ถ€๋ถ„์—์„œ ์œ„๊ธฐ์— ๋น ์ง€๊ณ  ๋ง์•˜๋‹ค. ์˜ค๋ ๋ฆฌ๋ฅผ ์œ„ํ•ด ์‹คํŒจ์œจ์„ ๊ตฌํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์™„์„ฑํ•˜๋ผ. ์‹คํŒจ์œจ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •์˜ํ•œ๋‹ค. ์Šคํ…Œ์ด์ง€์— ๋„๋‹ฌํ–ˆ์œผ๋‚˜ ์•„์ง ํด๋ฆฌ์–ดํ•˜์ง€ ๋ชปํ•œ ํ”Œ๋ ˆ์ด์–ด์˜ ์ˆ˜ / ์Šคํ…Œ์ด์ง€์— ๋„๋‹ฌํ•œ ํ”Œ๋ ˆ์ด์–ด ์ˆ˜ ์ „์ฒด ์Šคํ…Œ์ด์ง€์˜ ๊ฐœ์ˆ˜ N, ๊ฒŒ์ž„์„ ์ด์šฉํ•˜๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ํ˜„์žฌ ๋ฉˆ์ถฐ์žˆ๋Š” ์Šคํ…Œ์ด์ง€์˜ ๋ฒˆํ˜ธ๊ฐ€ ๋‹ด๊ธด ๋ฐฐ์—ด stages๊ฐ€..

[์šด์˜์ฒด์ œ(OS)] ๋ฉด์ ‘ ์˜ˆ์ƒ ์งˆ๋ฌธ๊ณผ ๋‹ต๋ณ€

1) ์šด์˜ ์ฒด์ œ ๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ์šด์˜ ์ฒด์ œ๋Š” ์ปดํ“จํ„ฐ ํ•˜๋“œ์›จ์–ด๊ฐ€ ์ปดํ“จํ„ฐ ์†Œํ”„ํŠธ์›จ์–ด์™€ ํ†ต์‹ ํ•˜๊ณ  ์ž‘๋™ํ•˜๋„๋กํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค. 2) ์šด์˜ ์ฒด์ œ์˜ ์ฃผ์š” ๋ชฉ์ ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ์šด์˜ ์ฒด์ œ์—๋Š” ๋‘ ๊ฐ€์ง€ ์ฃผ์š” ๋ชฉ์ ์ด ์žˆ๋‹ค. 1. ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์˜ ๊ณ„์‚ฐ ํ™œ๋™์„ ๊ด€๋ฆฌํ•˜์—ฌ ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์ด ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜๋„๋ก ํ•œ๋‹ค. 2. ํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ ๋ฐ ์‹คํ–‰์„ ์œ„ํ•œ ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•œ๋‹ค. 3) ํ”„๋กœ์„ธ์Šค๋ž€ ๋ฌด์—‡์„ ์˜๋ฏธํ•ฉ๋‹ˆ๊นŒ? ์ปดํ“จํ„ฐ์—์„œ ์‹คํ–‰๋˜๊ณ  ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ํ”„๋กœ์„ธ์Šค๋ผ๊ณ  ํ•œ๋‹ค. ๋‘ ๊ฐ€์ง€ ์œ ํ˜•์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์žˆ๋‹ค. ์šด์˜ ์ฒด์ œ ํ”„๋กœ์„ธ์Šค, ์‚ฌ์šฉ์ž ํ”„๋กœ์„ธ์Šค 3-1) ํ”„๋กœ์„ธ์Šค์˜ ํŠน์ง•์„ ์„ค๋ช…ํ•˜์„ธ์š”. - ํ”„๋กœ์„ธ์Šค๋Š” ๊ฐ๊ฐ ๋…๋ฆฝ๋œ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ(Code, Data, Stack, Heap์˜ ๊ตฌ์กฐ)์„ ํ• ๋‹น๋ฐ›๋Š”๋‹ค. - ๊ธฐ๋ณธ์ ์œผ๋กœ ํ”„๋กœ์„ธ์Šค๋‹น ์ตœ์†Œ 1๊ฐœ์˜ ์Šค๋ ˆ๋“œ(๋ฉ”์ธ ..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][2020 KAKAO ๋ธ”๋ผ์ธ๋“œ ์ฑ„์šฉ] ๊ด„ํ˜ธ๋ณ€ํ™˜

๋ฌธ์ œ ์„ค๋ช… ์นด์นด์˜ค์— ์‹ ์ž… ๊ฐœ๋ฐœ์ž๋กœ ์ž…์‚ฌํ•œ ์ฝ˜์€ ์„ ๋ฐฐ ๊ฐœ๋ฐœ์ž๋กœ๋ถ€ํ„ฐ ๊ฐœ๋ฐœ์—ญ๋Ÿ‰ ๊ฐ•ํ™”๋ฅผ ์œ„ํ•ด ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ž‘์„ฑํ•œ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•˜์—ฌ ๋ฌธ์ œ์ ์„ ๋ฐœ๊ฒฌํ•˜๊ณ  ์ˆ˜์ •ํ•˜๋ผ๋Š” ์—…๋ฌด ๊ณผ์ œ๋ฅผ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. ์†Œ์Šค๋ฅผ ์ปดํŒŒ์ผํ•˜์—ฌ ๋กœ๊ทธ๋ฅผ ๋ณด๋‹ˆ ๋Œ€๋ถ€๋ถ„ ์†Œ์Šค ์ฝ”๋“œ ๋‚ด ์ž‘์„ฑ๋œ ๊ด„ํ˜ธ๊ฐ€ ๊ฐœ์ˆ˜๋Š” ๋งž์ง€๋งŒ ์ง์ด ๋งž์ง€ ์•Š์€ ํ˜•ํƒœ๋กœ ์ž‘์„ฑ๋˜์–ด ์˜ค๋ฅ˜๊ฐ€ ๋‚˜๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ˆ˜์ •ํ•ด์•ผ ํ•  ์†Œ์Šค ํŒŒ์ผ์ด ๋„ˆ๋ฌด ๋งŽ์•„์„œ ๊ณ ๋ฏผํ•˜๋˜ ์ฝ˜์€ ์†Œ์Šค ์ฝ”๋“œ์— ์ž‘์„ฑ๋œ ๋ชจ๋“  ๊ด„ํ˜ธ๋ฅผ ๋ฝ‘์•„์„œ ์˜ฌ๋ฐ”๋ฅธ ์ˆœ์„œ๋Œ€๋กœ ๋ฐฐ์น˜๋œ ๊ด„ํ˜ธ ๋ฌธ์ž์—ด์„ ์•Œ๋ ค์ฃผ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ฐœ๋ฐœํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์šฉ์–ด์˜ ์ •์˜ '(' ์™€ ')' ๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด์ด ์žˆ์„ ๊ฒฝ์šฐ, '(' ์˜ ๊ฐœ์ˆ˜์™€ ')' ์˜ ๊ฐœ์ˆ˜๊ฐ€ ๊ฐ™๋‹ค๋ฉด ์ด๋ฅผ ๊ท ํ˜•์žกํžŒ ๊ด„ํ˜ธ ๋ฌธ์ž์—ด์ด๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์—ฌ๊ธฐ์— '('์™€ ')'์˜ ๊ด„ํ˜ธ์˜ ์ง๋„ ๋ชจ๋‘..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์œ„์žฅ

๋ฌธ์ œ ์„ค๋ช… ์ŠคํŒŒ์ด๋“ค์€ ๋งค์ผ ๋‹ค๋ฅธ ์˜ท์„ ์กฐํ•ฉํ•˜์—ฌ ์ž…์–ด ์ž์‹ ์„ ์œ„์žฅํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ŠคํŒŒ์ด๊ฐ€ ๊ฐ€์ง„ ์˜ท์ด ์•„๋ž˜์™€ ๊ฐ™๊ณ  ์˜ค๋Š˜ ์ŠคํŒŒ์ด๊ฐ€ ๋™๊ทธ๋ž€ ์•ˆ๊ฒฝ, ๊ธด ์ฝ”ํŠธ, ํŒŒ๋ž€์ƒ‰ ํ‹ฐ์…”์ธ ๋ฅผ ์ž…์—ˆ๋‹ค๋ฉด ๋‹ค์Œ๋‚ ์€ ์ฒญ๋ฐ”์ง€๋ฅผ ์ถ”๊ฐ€๋กœ ์ž…๊ฑฐ๋‚˜ ๋™๊ทธ๋ž€ ์•ˆ๊ฒฝ ๋Œ€์‹  ๊ฒ€์ • ์„ ๊ธ€๋ผ์Šค๋ฅผ ์ฐฉ์šฉํ•˜๊ฑฐ๋‚˜ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ข…๋ฅ˜์ด๋ฆ„ ์–ผ๊ตด ๋™๊ทธ๋ž€ ์•ˆ๊ฒฝ, ๊ฒ€์ • ์„ ๊ธ€๋ผ์Šค ์ƒ์˜ ํŒŒ๋ž€์ƒ‰ ํ‹ฐ์…”์ธ  ํ•˜์˜ ์ฒญ๋ฐ”์ง€ ๊ฒ‰์˜ท ๊ธด ์ฝ”ํŠธ ์ŠคํŒŒ์ด๊ฐ€ ๊ฐ€์ง„ ์˜์ƒ๋“ค์ด ๋‹ด๊ธด 2์ฐจ์› ๋ฐฐ์—ด clothes๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ ์„œ๋กœ ๋‹ค๋ฅธ ์˜ท์˜ ์กฐํ•ฉ์˜ ์ˆ˜๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ œํ•œ์‚ฌํ•ญ clothes์˜ ๊ฐ ํ–‰์€ [์˜์ƒ์˜ ์ด๋ฆ„, ์˜์ƒ์˜ ์ข…๋ฅ˜]๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ์ŠคํŒŒ์ด๊ฐ€ ๊ฐ€์ง„ ์˜์ƒ์˜ ์ˆ˜๋Š” 1๊ฐœ ์ด์ƒ 30๊ฐœ ์ดํ•˜์ž…๋‹ˆ๋‹ค. ๊ฐ™์€ ์ด๋ฆ„์„ ๊ฐ€์ง„ ์˜์ƒ์€ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. clothe..

Oracle DBMS ๋ฐ SQL - ์กฐ์ธ(JOIN)

-- JOIN -- RDBMS(Relational DataBase Management System) : ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ์ผ๋ จ์˜ ์ •ํ˜•ํ™”๋œ ํ…Œ์ด๋ธ” ๊ตฌ์„ฑ๋œ ๋ฐ์ดํ„ฐ ํ•ญ๋ชฉ๋“ค์˜ ์ง‘ํ•ฉ์ฒด๋กœ์จ, ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ์ ‘๊ทผํ•˜๊ณ  ์กฐํ•ฉ๋  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฐ ๊ด€๊ณ„๋ฅผ ๋งบ๋Š” ๋ฐฉ๋ฒ•์ด ์กฐ์ธ(์—ฐ๊ฒฐ๊ณ ๋ฆฌ) ์ด๋‹ค. --1. Cross Join : ํ…Œ์ด๋ธ”์„ ์„œ๋กœ ์กฐ๊ฑด์—†์ด ์—ฐ๊ฒฐํ•˜์—ฌ ๋‚˜์—ดํ•œ ๊ฒƒ --107 * 27 = 2889 : ์•„๋ฌด ์˜๋ฏธ์—†๋Š” ๊ฒฐํ•ฉ --2. Equi Join : ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ์กฐ์ธ ๋ฐฉ๋ฒ•์œผ๋กœ ๋Œ€์ƒ์ด ๋˜๋Š” ํ…Œ์ด๋ธ”์— -- ๊ณตํ†ต์ ์œผ๋กœ ์กด์žฌํ•˜๋Š” ์ปฌ๋Ÿผ์˜ ๊ฐ’์ด ์ผ์น˜๋˜๋Š” ํ–‰์„ ์—ฐ๊ฒฐํ•˜์—ฌ ๊ฒฐ๊ณผ๋ฅผ ์ƒ์„ฑ -- WHERE์ ˆ์— ํ…Œ์ด๋ธ”์— ๊ณตํ†ต๋œ ์ปฌ๋Ÿผ์„ ์กฐ์ธ ์กฐ๊ฑด์œผ๋กœ ์ œ์‹œํ•œ๋‹ค. -- ๋ชจํ˜ธ์„ฑ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋™์ผํ•œ ์ปฌ๋Ÿผ์€ ํ…Œ์ด๋ธ”๋ช… ๋ช…์‹œ..

KITRI/ORACLE 2020. 4. 10. 16:41