๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Database

(56)
[Do it! SQL ์ž…๋ฌธ] 03-7. SQL Server์—์„œ ๋‹ค๋ฃจ๋Š” ์ž๋ฃŒํ˜• ์ •๋ฆฌํ•˜๊ธฐ SQL Server์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…https://developerking.tistory.com/6 [MSSQL] ๋ฐ์ดํ„ฐ ํƒ€์ž… (์ž๋ฃŒํ˜•) ์œ ํ˜• ์ด์ •๋ฆฌMSSQL / SQL Server ์ž๋ฃŒํ˜•์œ ํ˜•์ž๋ฃŒํ˜•์ •์ˆ˜bigint-2^63(-9,223,372,036,854,775,808) ~ 2^63-1(9,223,372,036,854,775,807) 8๋ฐ”์ดํŠธint-2^31(-2,147,483,648) ~ 2^31-1(2,147,483,647) 4๋ฐ”์ดํŠธsmallint-2^15(-32,768) ~ 2^15-1(32,767) 2๋ฐ”์ดํŠธtinyint0 ~ 2developerking.tistory.com ์•”์‹œ์  ํ˜•๋ณ€ํ™˜ vs ๋ช…์‹œ์  ํ˜•๋ณ€ํ™˜https://hackhyun.tistory.com/271  [SQL์„œ๋ฒ„] ๋ฌต์‹œ์ (์•”์‹œ์ ) ํ˜•๋ณ€ํ™˜S..
[Do it! SQL ์ž…๋ฌธ] 03-6. ํ…Œ์ด๋ธ” ์ƒ์„ฑํ•˜๊ณ  ๋ฐ์ดํ„ฐ ์กฐ์ž‘ํ•˜๊ธฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒ์„ฑํ•˜๊ณ  ์‚ญ์ œํ•˜๊ธฐCREATE DATABASE [๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ด๋ฆ„]DROP DATABASE [๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ด๋ฆ„]  ํ…Œ์ด๋ธ” ์ƒ์„ฑํ•˜๊ณ  ์‚ญ์ œํ•˜๊ธฐ  ํ…Œ์ด๋ธ”์— ๋ฐ์ดํ„ฐ ์‚ฝ์ž…, ์ˆ˜์ •, ์‚ญ์ œํ•˜๊ธฐ 1. ๋ฐ์ดํ„ฐ ์ž…๋ ฅํ•˜๊ธฐ (INSERT)  2. ๋ฐ์ดํ„ฐ ์ˆ˜์ •ํ•˜๊ธฐ (UPDATE) 3. ๋ฐ์ดํ„ฐ ์‚ญ์ œํ•˜๊ธฐ (DELETE) ์™ธ๋ž˜ํ‚ค๋กœ ์—ฐ๊ฒฐ๋œ ๋ฐ์ดํ„ฐ ์ž…๋ ฅ, ์‚ญ์ œํ•˜๊ธฐ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ๋ฐ์ดํ„ฐ์˜ ๋ฌด๊ฒฐ์„ฑ์„ ์œ ์ง€ํ•ด์•ผ ํ•˜๋ฏ€๋กœ ๋ถ€๋ชจ ํ…Œ์ด๋ธ”์— ์—†๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ž์‹ ํ…Œ์ด๋ธ”์ด ๊ฐ€์ง€๋ฉด ์•ˆ ๋˜๋Š” ๊ฒƒ์ด ์›์น™์ด๋‹ค. ์ด ์›์น™์„ ์œ ์ง€ํ•˜๋ฉด ๋ฐ์ดํ„ฐ๊ฐ€ ์ž˜๋ชป ์ž…๋ ฅ๋˜๊ฑฐ๋‚˜ ์‚ญ์ œ๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค.์™ธ๋ž˜ํ‚ค๋Š” ํ…Œ์ด๋ธ”์ด ๊ด€๊ณ„๋ฅผ ๊ตฌ์„ฑํ•  ๋–„ ์ฐธ์กฐํ•˜๋Š” ์—ด์„ ์˜๋ฏธํ•œ๋‹ค.  ํšŒ์› ํ…Œ์ด๋ธ”์˜ ํšŒ์›๋ฒˆํ˜ธ ์—ด์ด ๊ธฐ๋ณธํ‚ค(Primary Key)์ด๊ณ  ์ฃผ๋ฌธ ํ…Œ์ด๋ธ”์˜ ํšŒ์›๋ฒˆํ˜ธ ์—ด์ด ์™ธ๋ž˜ํ‚ค(F..
[Do it! SQL ์ž…๋ฌธ] 03-5. ๋ฐ์ดํ„ฐ ๊ทธ๋ฃนํ™” ๋‹ค๋ฃจ๊ธฐ GROUP BY์™€ HAVING SELECT [์—ด] FROM [ํ…Œ์ด๋ธ”] WHERE [์—ด] = [์กฐ๊ฑด๊ฐ’] GROUP BY [์—ด] HAVING [์—ด] = [์กฐ๊ฑด๊ฐ’] GROUP BY : ๋ฐ์ดํ„ฐ๋ฅผ ๊ทธ๋ฃนํ™”ํ•˜๋Š” ๊ตฌ๋ฌธHAVING: WHERE์™€ ๋น„์Šทํ•œ ๊ธฐ๋Šฅ์„ ํ•˜๋ฉฐ ๊ทธ๋ฃนํ™”๋œ ๊ฒฐ๊ณผ์˜ ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ์„ ํ•œ๋‹ค   HAVING์œผ๋กœ ๊ทธ๋ฃนํ™”๋œ ๋ฐ์ดํ„ฐ ํ•„ํ„ฐ๋งํ•˜๊ธฐ  DISTINCT ๋ฌธ์œผ๋กœ ์ค‘๋ณต ์ œ๊ฑฐํ•˜๊ธฐSELECT DISTINCT [์—ด ์ด๋ฆ„] FROM [ํ…Œ์ด๋ธ”]
[Do it! SQL ์ž…๋ฌธ] 03-4. ์™€์ผ๋“œ์นด๋“œ๋กœ ๋ฌธ์ž์—ด ๊ฒ€์ƒ‰ํ•˜๊ธฐ LIKE๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์™€์ผ๋“œ์นด๋“œ๋กœ ์ง€์ •ํ•œ ํŒจํ„ด๊ณผ ์ผ์น˜ํ•˜๋Š” ๋ฌธ์ž์—ด, ๋‚ ์งœ, ์‹œ๊ฐ„ ๋“ฑ์„ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋‹ค.  SELECT [์—ด] FROM [ํ…Œ์ด๋ธ”] WHERE [์—ด] LIKE [์กฐ๊ฑด๊ฐ’]  LIKE์™€ %๋กœ ํŠน์ • ๋ฌธ์ž์—ด์„ ํฌํ•จํ•˜๋Š” ๋ฌธ์ž์—ด ๊ฒ€์ƒ‰ํ•˜๊ธฐ %์˜ ์‚ฌ์šฉ๋ฒ•A%: A๋กœ ์‹œ์ž‘ํ•˜๋Š” ๋ชจ๋“  ๋ฌธ์ž์—ด%A: A๋กœ ๋๋‚˜๋Š” ๋ชจ๋“  ๋ฌธ์ž์—ด%A%: A๋ฅผ ํฌํ•จํ•˜๋Š” ๋ชจ๋“  ๋ฌธ์ž์—ด์กฐ๊ฑด๊ฐ’๊ณผ ๋ฐ˜๋Œ€๋˜๋Š” ๋ฌธ์ž์—ด ์ฐพ๊ธฐ → NOT LIKE       ํŠน์ˆ˜๋ฌธ์ž๋ฅผ ํฌํ•จํ•œ ๋ฌธ์ž์—ด ๊ฒ€์ƒ‰ํ•˜๊ธฐ → ESCAPE ์‚ฌ์šฉ์ฐพ๊ณ ์ž ํ•˜๋Š” ํŠน์ˆ˜๋ฌธ์ž(โ“) ์•ž์— ๋‹ค๋ฅธ ํŠน์ˆ˜๋ฌธ์ž(โ“‘)๋ฅผ ์‚ฝ์ž…ํ•œ ํ›„ SELECT๋ฌธ LIKE๋ฌธ ๋’ค์— ํ•ด๋‹น ํŠน์ˆ˜๋ฌธ์ž(โ“‘)๋ฅผ ESCAPE ์ฒ˜๋ฆฌํ•ด์ค€๋‹ค.  _๋กœ ํŠน์ • ๋ฌธ์ž์—ด์„ ํฌํ•จํ•˜๋Š” ํŠน์ • ๊ธธ์ด์˜ ๋ฌธ์ž์—ด ๊ฒ€์ƒ‰ํ•˜๊ธฐํ•ด๋‹น ๋ฌธ์ž์—ด์„ ํฌํ•จํ•˜๋Š” ํŠน์ • ๊ธธ์ด์˜ ๋ฌธ์ž์—ด์„ ๊ฒ€์ƒ‰ํ•˜๋ ค๋ฉด ..
[Do it! SQL ์ž…๋ฌธ] 03-3. ORDER BY ๋ฌธ์œผ๋กœ ๋ฐ์ดํ„ฐ ์ •๋ ฌํ•˜๊ธฐ ORDER BY ๋ฌธ์˜ ๊ธฐ๋ณธ ํ˜•์‹SELECT [์—ด] FROM [ํ…Œ์ด๋ธ”] WHERE [์—ด] = [์กฐ๊ฑด๊ฐ’] ORDER BY [์—ด] [ASC, DESC] ORDER BY ๋ฌธ์„ ์‚ฌ์šฉํ•ด 1๊ฐœ ์—ด ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌ ORDER BY ๋ฌธ์„ ์‚ฌ์šฉํ•ด 2๊ฐœ ์—ด ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•˜๊ธฐ(ASC ์‚ฌ์šฉ) ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌํ•˜๊ธฐ(DESC ์‚ฌ์šฉ) ์˜ค๋ฆ„์ฐจ์ˆœ๊ณผ ๋‚ด๋ฆผ์ฐจ์ˆœ์„ ์กฐํ•ฉํ•ด ์ •๋ ฌํ•˜๊ธฐ TOP์œผ๋กœ ์ƒ์œ„ N๊ฐœ ๋ฐ์ดํ„ฐ ๊ฒ€์ƒ‰ํ•˜๊ธฐ OFFSET - FETCH NEXT๋กœ ์ง€์ •ํ•œ ๊ฐœ์ˆ˜๋งŒํผ ํ–‰ ๊ฑด๋„ˆ๋›ฐ๊ณ  ๊ฒ€์ƒ‰ํ•˜๊ธฐ
[Do it! SQL ์ž…๋ฌธ] 03-2. WHERE ๋ฌธ์œผ๋กœ ์กฐ๊ฑด์— ๋งž๋Š” ๋ฐ์ดํ„ฐ ๊ฒ€์ƒ‰ํ•˜๊ธฐ ์‹œ์Šคํ…œ์˜ ๋ถ€ํ•˜๋ฅผ ์ค„์ด๋ ค๋ฉด ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋งŒ ๊ฒ€์ƒ‰ํ•ด์•ผ ํ•œ๋‹ค. ์›ํ•˜๋Š” ์กฐ๊ฑด์— ๋งž๋Š” ํ–‰์„ ๊ฒ€์ƒ‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์ž. SELECT [์—ด] FROM [ํ…Œ์ด๋ธ”] WHERE [์—ด] = [์กฐ๊ฑด๊ฐ’]  ์—ฐ์‚ฐ์ž ์ข…๋ฅ˜= : ํ•„ํ„ฐ๋ง ์กฐ๊ฑด๊ณผ ๊ฐ™์€ ๊ฐ’์„ ๊ฒ€์ƒ‰> : ํ•„ํ„ฐ๋ง ์กฐ๊ฑด๋ณด๋‹ค ํฐ ๊ฐ’์„ ๊ฒ€์ƒ‰>= : ํ•„ํ„ฐ๋ง ์กฐ๊ฑด๋ณด๋‹ค ๊ฐ™๊ฑฐ๋‚˜ ํฐ ๊ฐ’์„ ๊ฒ€์ƒ‰, != : ํ•„ํ„ฐ๋ง ์กฐ๊ฑด๊ณผ ๊ฐ™์ง€ ์•Š์€ ๊ฐ’์„ ๊ฒ€์ƒ‰!!> : ํ•„ํ„ฐ๋ง ์กฐ๊ฑด๋ณด๋‹ค ํฌ์ง€ ์•Š์€ ๊ฐ’์„ ๊ฒ€์ƒ‰  symbol ์—ด์˜ ๊ฐ’์ด 'MSFT'์ธ ๋ฐ์ดํ„ฐ ๊ฒ€์ƒ‰ํ•˜๊ธฐ ipo_year ์—ด์˜ ๊ฐ’์ด 2021๋…„ ๋ฏธ๋งŒ์ธ ๋ฐ์ดํ„ฐ ๊ฒ€์ƒ‰ํ•˜๊ธฐ last_crawel_date๊ฐ€ 2021๋…„ 10์›” 15์ผ ์ด์ƒ์ธ ํ–‰์„ ๊ฒ€์ƒ‰  WHERE ๋ฌธ์—์„œ ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž ์‚ฌ์šฉํ•˜๊ธฐALL : ๋ชจ๋“  ๋น„๊ต ์ง‘ํ•ฉ์ด TRUE(์ฐธ)์ด๋ฉด TRUEAND : ๋‘ ๋ถ€์šธ ํ‘œํ˜„..
[Do it! SQL ์ž…๋ฌธ] 03-1. SELECT ๋ฌธ์œผ๋กœ ๋ฐ์ดํ„ฐ ๊ฒ€์ƒ‰ํ•˜๊ธฐ SELECT๋ฌธ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋Š” ๊ตฌ๋ฌธSELECT๋ฌธ์€ ์‚ฌ์šฉํ•˜๊ธฐ ์‰ฝ์ง€๋งŒ ์‹œ์Šคํ…œ ์„ฑ๋Šฅ์— ๋งŽ์€ ์˜ํ–ฅ์„ ๋ฏธ์น˜๋ฏ€๋กœ ์ฃผ์˜ํ•ด์„œ ์‚ฌ์šฉํ•ด์•ผ ํ•จ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ํ˜•ํƒœ์˜ SELECT๋ฌธSELECT ์—ดFROM ํ…Œ์ด๋ธ”WHERE ์กฐ๊ฑดORDER BY ์—ด  ์ฃผ์„ ์ž‘์„ฑ ๋ฐฉ๋ฒ•์ฃผ์„์ด๋ž€ ์ฟผ๋ฆฌ ์‹คํ–‰์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋Š”, ์ฝ”๋“œ ์„ค๋ช…์„ ์œ„ํ•œ ๋ฉ”๋ชจ1์ค„ ์ฃผ์„ ์ž…๋ ฅ ์‹œ ๋ฌธ๊ตฌ ๋งจ ์•ž์— --๋ฅผ ๋ถ™์ด๋ฉด ๋จ์—ฌ๋Ÿฌ ์ค„์˜ ์ฃผ์„ ์ž…๋ ฅ ์‹œ ์ฃผ์„์˜ ๋‚ด์šฉ์„ /* */ ์œผ๋กœ ๊ฐ์‹ธ๋ฉด ๋จ  ํ•˜๋‚˜์˜ ์—ด ๊ฒ€์ƒ‰ํ•˜๊ธฐ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์—ด ๊ฒ€์ƒ‰ํ•˜๊ธฐ๊ฒ€์ƒ‰ํ•  ์—ด ์ด๋ฆ„์„ ์‰ผํ‘œ(,)๋กœ ๊ตฌ๋ถ„ํ•ด ๋‚˜์—ด ์ „์ฒด ์—ด ๊ฒ€์ƒ‰ํ•˜๊ธฐ* ๊ธฐํ˜ธ ์‚ฌ์šฉ โ€ป ์ „์ฒด ์—ด ๊ฒ€์ƒ‰์€ ์ž์›์„ ๋งŽ์ด ์†Œ๋น„ํ•˜๋ฏ€๋กœ ์ฃผ์˜์ „์ฒด ์—ด์„ ๊ฒ€์ƒ‰ํ•  ๊ฒฝ์šฐ ๋ถˆํ•„์š”ํ•œ ์—ด์˜ ๋ฐ์ดํ„ฐ๊นŒ์ง€ ๊ฒ€์ƒ‰ํ•˜๋ฏ€๋กœ CPU๋‚˜ ๋””์Šคํฌ์— ๋งŽ์€ ๋ถ€๋‹ด์„ ์ฃผ๊ธฐ ๋–„๋ฌธ์—, ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒ€์ƒ‰ํ• ..
[Do it! SQL ์ž…๋ฌธ] ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ SQL์˜ ๊ธฐ์ดˆ 01-1. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ธฐ๋ณธ ๊ฐœ๋…๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ž€๋…ผ๋ฆฌ์ ์œผ๋กœ ์—ฐ๊ด€๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ์•„ ์ผ์ •ํ•œ ํ˜•ํƒœ๋กœ ์ €์žฅํ•ด ๋†“์€ ๊ฒƒ. ์ฆ‰, ์—ฌ๋Ÿฌ ์‹œ์Šคํ…œ ๋˜๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ๋™์‹œ์— ๊ณต์œ ํ•˜๊ณ  ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ํ†ตํ•ฉ ์ €์žฅํ•œ ๋ฐ์ดํ„ฐ์˜ ์ง‘ํ•ฉ. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ํ•„์š”ํ•œ ์ด์œ ๋ฐ์ดํ„ฐ ์ค‘๋ณต์„ ์ตœ์†Œํ™”ํ•ด์„œ ์กฐ์ง์˜ ๋ชฉ์ ์— ๋งž๊ฒŒ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•จ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ISOS์™€ R1C3์œผ๋กœ ์ •๋ฆฌํ•œ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” DBMS๋กœ ๊ด€๋ฆฌํ•œ๋‹คDBMS: ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ → ๋ฐ์ดํ„ฐ์˜ ์ž…๋ ฅ, ์ˆ˜์ •, ์‚ญ์ œ ๋“ฑ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ๋ณ„๋„์˜ ์†Œํ”„ํŠธ์›จ์–ด๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(DB): ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด๋Š” ํ†ต๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ(DBMS): ์ด ํ†ต์„ ๊ด€๋ฆฌํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด 01-2. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ข…๋ฅ˜๊ณ„์ธตํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ณ„์ธตํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ๋ถ€๋ชจ์™€ ์ž์‹ ๊ด€๊ณ„๋ฅผ ์ด๋ฃจ๋Š” ํŠธ๋ฆฌ ๊ตฌ..