Banner

My Tech Blog (๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ)

์–ด๋ ค์›Œ์„œ ๋ฏธ๋ฃจ๋‹ค๊ฐ€ ๋ชป ํ‘ผ ๋ฌธ์ œ๊ฐ€ 2๊ฐœ ์žˆ์—ˆ๋‹ค. Lv4 ๋ฌธ์ œ 1๊ฐœ๋ž‘ Lv5 ๋ฌธ์ œ 1๊ฐœ์ด๋‹ค. ๋‚œ์ด๋„ ์ตœ์ƒ์ธ ๋งŒํผ, ๋ฌธ์ œ ์ฝ๊ธฐ๋„ ์ „์— ํ’€๊ธฐ๊ฐ€ ๋‘๋ ค์šด ๋งˆ์Œ์ด ์žˆ์—ˆ๋‹ค. ์ด ๋ฌธ์ œ๋Š” ์™ ์ง€ ์˜ค๋žซ ๋™์•ˆ ๋…ธํŠธ๋ถ ์•ž์— ์•‰์•„์„œ ๋จธ๋ฆฌ ๋งŽ์ด ์“ฐ๊ณ  ๊ณ ๋ฏผํ•ด ๋ด์•ผ ๋  ๊ฒƒ ๊ฐ™์•„์„œ ํ•˜๊ธฐ์‹ซ์—ˆ๋‹ค. MySQL์—์„œ๋Š” START WITH CONNECT BY๊ฐ€ ์•ˆ๋œ๋‹ค๋Š” ๊ฑฐ ์•Œ๊ณ ๋ถ€ํ„ฐ๋Š” ๋˜ ์ƒˆ๋กœ์šด๊ฑฐ ๋ฐฐ์šฐ๊ธฐ ์‹ซ์–ด์„œ ๋ฏธ๋ค˜๋Š”๋ฐ ์˜ค๋Š˜ ์–ผ๋ฅธ ๋๋‚ด๋ฒ„๋ฆฌ๊ณ  ์ž์•ผ์ง€1. ๋ฌธ์ œ์„ค๋ช…2. ์ ‘๊ทผ๋ฐฉ์‹์ฒ˜์Œ์—๋Š” ์–ด๋ ค์›Œ ๋ณด์—ฌ์„œ ๋ฌธ์ œ๋ฅผ ์ฝ๊ณ  ๋ญ˜ ๊ตฌํ•ด์•ผ ํ•˜๋Š”์ง€ ์ƒ๊ฐ์˜ ํ๋ฆ„์„ ํ•œ๊ธ€๋กœ ๋ฐ›์•„ ์ ์–ด ๋ดค๋‹ค. PARENT_ID๊ฐ€ NULL์ด๋ฉด 1์„ธ๋Œ€์ด๋‹ค. PARENT_ID๊ฐ€ NULL์ธ ID๋ฅผ ๋ถ€๋ชจ๋กœ ๊ฐ€์ง€๋Š” ํ–‰์ด 2์„ธ๋Œ€ ์ด๋‹ค. PARENT_ID๊ฐ€ NULL์ธ ID๋ฅผ ๋ถ€๋ชจ๋กœ ๊ฐ€์ง€๋Š” ํ–‰์˜ ID๋ฅผ ๋ถ€๋ชจ๋กœ ๊ฐ€..
1. ๋ฌธ์ œ ์„ค๋ช… 2. ์ ‘๊ทผ ๋ฐฉ๋ฒ•๋ฌธ์ œ๋ฅผ ๋ณด๊ณ  ๋“  ์ƒ๊ฐ์€ `์—ฐ๊ด€ ์ปฌ๋Ÿผ์ด ์—†์„ ๋•Œ๋Š” ํ…Œ์ด๋ธ”์„ ์–ด๋–ป๊ฒŒ ์กฐ์ธํ•˜๋Š”๊ฐ€?` -> ๊ทธ๋ž˜์„œ ์นดํ…Œ์‹œ์•ˆ ๊ณฑ์ด ๋– ์˜ฌ๋ž๋‹ค.๋ชจ๋“  ์กฐํ•ฉ์„ ์ƒ์„ฑํ•˜๋Š” ๊ฒฝ์šฐ๋ฅผ ์นดํ…Œ์‹œ์•ˆ ๊ณฑ(Cartesian Product)์ด๋ผ๊ณ  ํ•˜๋Š”๋ฐ CROSS JOIN ํ•ด ์ฃผ๋Š” ๊ฒƒ์ด๋‹ค.์ผ๋‹จ ์—ฌ๊ธฐ๊นŒ์ง€๋งŒ ์ž‘์„ฑ ํ•˜๊ณ  ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰์‹œ์ผœ ๋ณด๊ธฐ๋กœ ํ–ˆ๋‹ค. ํ…Œ์ด๋ธ”์ด ์˜†์œผ๋กœ ๋ถ™์—ˆ๋‹ค.  ์—ฌ๊ธฐ์„œ ๋‚ ์งœ๋ณ„๋กœ GROUP BY ํ•ด ๋ณด๊ณ  ๋ญ”๊ฐ€ ํ•ด ๋ณด๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ ์ค‘๊ฐ„์— ๊ธฐ๊ฐ€ ๋ง‰ํžŒ ์ƒ๊ฐ์ด ๋‚ฌ๋‹ค.ํ…Œ์ด๋ธ”์„ ์˜†์ด ์•„๋‹ˆ๋ผ ์•„๋ž˜๋กœ ๋ถ™์ด๋ฉด ๋˜๊ฒ ๋‹ค. ๊ทธ๋Ÿผ UNION ALL์„ ์จ ๋ณด๋Š”๊ฒŒ ์–ด๋–จ๊นŒ?๊ทธ๋ž˜์„œ ์•„๋ž˜๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ™์ด๋Š”๊ฒŒ ์ข‹๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค.๊ทธ๋ฆฌ๊ณ  ์ค‘๋ณต๊ฐ’์„ ์—†์• ๋ฉด ์•ˆ๋˜๊ธฐ ๋•Œ๋ฌธ์— UNION์ด ์•„๋‹ˆ๋ผ UNION ALL... ์„ค๋งˆ...!!  SELECT SALES_DATE..
๋‚œ์ด๋„ 3์ด๋ผ ์–ด๋ ค์šธ ์ค„ ์•Œ์•˜๋Š”๋ฐ ๋„ˆ๋ฌด ์‰ฌ์›Œ์„œ ๊ทธ๋ƒฅ ์ฝ”๋“œ๋งŒ ํฌ์ŠคํŒ…ํ•ฉ๋‹ˆ๋‹ค. ๋Œ€์žฅ๊ท ์˜ ํฌ๊ธฐ์— ๋”ฐ๋ผ ๋ถ„๋ฅ˜ํ•˜๊ธฐ 1 ์ •๋‹ต์ฝ”๋“œSELECT ID, SIZEFROM ( SELECT ID, CASE WHEN SIZE_OF_COLONY > 1000 THEN 'HIGH' WHEN SIZE_OF_COLONY ๋Œ€์žฅ๊ท ์˜ ํฌ๊ธฐ์— ๋”ฐ๋ผ ๋ถ„๋ฅ˜ํ•˜๊ธฐ 2 ๋ฌธ์ œ๋Œ€์žฅ๊ท  ๊ฐœ์ฒด์˜ ํฌ๊ธฐ๋ฅผ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ–ˆ์„ ๋•Œ ์ƒ์œ„ 0% ~ 25% ๋ฅผ 'CRITICAL', 26% ~ 50% ๋ฅผ 'HIGH', 51% ~ 75% ๋ฅผ 'MEDIUM', 76% ~ 100% ๋ฅผ 'LOW' ๋ผ๊ณ  ๋ถ„๋ฅ˜ํ•ฉ๋‹ˆ๋‹ค. ๋Œ€์žฅ๊ท  ๊ฐœ์ฒด์˜ ID(ID) ์™€ ๋ถ„๋ฅ˜๋œ ์ด๋ฆ„(COLONY_NAME)์„ ์ถœ๋ ฅํ•˜๋Š” SQL ๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ด๋•Œ ๊ฒฐ๊ณผ๋Š” ๊ฐœ์ฒด์˜ ID ์— ๋Œ€ํ•ด ์˜ค๋ฆ„..
1. ๋ฌธ์ œ์„ค๋ช… 2. ์ ‘๊ทผ๋ฐฉ์‹์ด๋ ‡๊ฒŒ ๊นŒ์ง€ ์˜ค๋ž˜ ๋ถ™์žก๊ณ  ์žˆ์„ ๋ฌธ์ œ๊ฐ€ ์•„๋‹Œ๋ฐ ์˜ค๋Š˜์€ ํ•˜๊ธฐ ์‹ซ์–ด์„œ ใ…‹ใ…‹ใ…‹...๊ฒŒ์œผ๋ฆ„ ์ข€ ํ”ผ์›Œ๋ดค๋‹ค. ์ฒ˜์Œ์—๋Š” ECOLI_DATA ํ…Œ์ด๋ธ” ๋‚ด์—์„œ PARENT_ID(๋ถ€๋ชจ)๊ฐ€ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋“ค์˜ ID๊ฐ’์„ ์นด์šดํŠธ ํ•ด ์ฃผ๋ฉด ๋˜๋Š”๊ฑฐ๋‹ค ๋ผ๊ณ  ์ƒ๊ฐ ํ•ด์„œ ํ‹€๋ ธ๋‹ค. ๊ฒฐ๊ณผ์ฐฝ์„ ๋ณด๋‹ˆ ์ž์‹์ด ์žˆ๋Š” ๋ถ€๋ชจ๋“ค๋งŒ ์ถœ๋ ฅ์ด ๋˜๊ณ  ์ž์‹์ด ์—†๋Š” ๋ถ€๋ชจ๋“ค์˜ ID๊ฐ’์€ ์กฐํšŒ๊ฐ€ ๋˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.  ๊ทธ๋ž˜์„œ LEFT JOIN์„ ํ•ด ์ฃผ์–ด์•ผ ๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค.์ฝ”๋“œ๋ฅผ ์ด๋ ‡๊ฒŒ ๊ณ ์ณค๋Š”๋ฐ ์ด๋ ‡๊ฒŒ ํ–ˆ๋Š”๋ฐ๋„ ๊ฒฐ๊ณผ๋Š” ๊ฐ™๋‹ค.์ด๋ ‡๊ฒŒ ๊ณ ์น˜๋ฉด์„œ ๋ถ€๋ชจ ํ…Œ์ด๋ธ”์ด ID ๊ฐ’์„ ID๋กœ SELECTํ•˜๊ณ , ์ž์‹ ํ…Œ์ด๋ธ”์˜ PARENT_ID๋ฅผ ์นด์šดํŒ… ํ•ด ์ฃผ์—ˆ๋‹ค. ํ‹€๋ฆฐ ์ด์œ ๋Š” WHERE ์ ˆ ๋•Œ๋ฌธ์ด์—ˆ๋‹ค.์ž์‹์ด ์—†๋Š” ๋ถ€๋ชจ๋„ ์นด์šดํŒ…์„ ํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์—WHERE E.PARENT..
[๋ชฉ์ฐจ]1. ๊ฒฝ๊ธฐ๋„์— ์œ„์น˜ํ•œ ์‹ํ’ˆ์ฐฝ๊ณ  ๋ชฉ๋ก ์ถœ๋ ฅํ•˜๊ธฐ2. ์ด๋ฆ„์ด ์—†๋Š” ๋™๋ฌผ์˜ ์•„์ด๋”” / ์ด๋ฆ„์ด ์žˆ๋Š” ๋™๋ฌผ์˜ ์•„์ด๋””3. NULL ์ฒ˜๋ฆฌํ•˜๊ธฐ4. ๋‚˜์ด ์ •๋ณด๊ฐ€ ์—†๋Š” ํšŒ์› ์ˆ˜ ๊ตฌํ•˜๊ธฐ5. ROOT ์•„์ดํ…œ ๊ตฌํ•˜๊ธฐ6. ์žก์€ ๋ฌผ๊ณ ๊ธฐ์˜ ํ‰๊ท  ๊ธธ์ด ๊ตฌํ•˜๊ธฐ7. โญ์—…๊ทธ๋ ˆ์ด๋“œ ํ•  ์ˆ˜ ์—†๋Š” ์•„์ดํ…œ ๊ตฌํ•˜๊ธฐ1. ๊ฒฝ๊ธฐ๋„์— ์œ„์น˜ํ•œ ์‹ํ’ˆ์ฐฝ๊ณ  ๋ชฉ๋ก ์ถœ๋ ฅํ•˜๊ธฐSELECT WAREHOUSE_ID, WAREHOUSE_NAME, ADDRESS, (IFNULL(FREEZER_YN,'N')) AS FREEZER_YNFROM FOOD_WAREHOUSEWHERE ADDRESS LIKE '๊ฒฝ๊ธฐ๋„%'ORDER BY WAREHOUSE_ID;2. ์ด๋ฆ„์ด ์—†๋Š” ๋™๋ฌผ์˜ ์•„์ด๋”” & ์ด๋ฆ„์ด ์žˆ๋Š” ๋™๋ฌผ์˜ ์•„์ด๋””SELECT ANIMAL_IDFROM ANIMAL_INSWHERE..
1. ๋ฌธ์ œ ์„ค๋ช…๋ฌธ์ œ๋ถ„ํ™”๋œ ์—ฐ๋„(YEAR), ๋ถ„ํ™”๋œ ์—ฐ๋„๋ณ„ ๋Œ€์žฅ๊ท  ํฌ๊ธฐ์˜ ํŽธ์ฐจ(YEAR_DEV), ๋Œ€์žฅ๊ท  ๊ฐœ์ฒด์˜ ID(ID) ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” SQL ๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ๋ถ„ํ™”๋œ ์—ฐ๋„๋ณ„ ๋Œ€์žฅ๊ท  ํฌ๊ธฐ์˜ ํŽธ์ฐจ๋Š” ๋ถ„ํ™”๋œ ์—ฐ๋„๋ณ„ ๊ฐ€์žฅ ํฐ ๋Œ€์žฅ๊ท ์˜ ํฌ๊ธฐ - ๊ฐ ๋Œ€์žฅ๊ท ์˜ ํฌ๊ธฐ๋กœ ๊ตฌํ•˜๋ฉฐ ๊ฒฐ๊ณผ๋Š” ์—ฐ๋„์— ๋Œ€ํ•ด ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๊ณ  ๊ฐ™์€ ์—ฐ๋„์— ๋Œ€ํ•ด์„œ๋Š” ๋Œ€์žฅ๊ท  ํฌ๊ธฐ์˜ ํŽธ์ฐจ์— ๋Œ€ํ•ด ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•ด์ฃผ์„ธ์š”.2. ์ ‘๊ทผ๋ฐฉ๋ฒ• ๊ฐ€์žฅ ํฐ ๋Œ€์žฅ๊ท ์˜ ํฌ๊ธฐ๋ฅผ ๊ตฌํ•ด์ค˜์•ผ ํ•˜๋ฏ€๋กœ MAX(SIZE_OF_COLONY)๋ฅผ ํ•ด ์ค˜์•ผ ํ•  ๊ฒƒ ๊ฐ™๊ณ  ์—ฐ๋„๋ณ„๋กœ ๊ตฌํ•ด์•ผ ํ•˜๋‹ˆ๊นŒ ์œˆ๋„์šฐ ํ•จ์ˆ˜์จ ์ค˜์„œ ์—ฐ๋„๋กœ ํŒŒํ‹ฐ์…”๋‹ ํ•ด ์ฃผ์–ด์•ผ ํ•œ๋‹ค. ์ผ๋‹จ ์ด ์ž‘์—…์„ ๋จผ์ € ํ•œ ํ›„์— ํ•ด๋‹น ๊ฒฐ๊ณผ๋ฅผ ๊ฐ€์ง€๊ณ  ๋‹ค์‹œ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ถœ ํ•ด ์ฃผ๊ณ  ORDER BY ์ •๋ ฌ์„ ํ•ด ์ฃผ์–ด์•ผ ๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค.  ๋จผ์ €, ..
1. ๋ฌธ์ œ์„ค๋ช… 2. ์ ‘๊ทผ๋ฐฉ์‹ ๋จผ์ € FISH_INFO ํ…Œ์ด๋ธ”์ด๋ž‘ FISH_NAME_INFO ํ…Œ์ด๋ธ”์„ FISH_TYPE ์ปฌ๋Ÿผ์œผ๋กœ ์กฐ์ธ ํ•ด ์ค€๋‹ค. ๊ทธ๋ฆฌ๊ณ  FISH_NAME์œผ๋กœ GROUP BY ํ•ด ์ฃผ๊ณ , LENGTH์˜ MAX ๊ฐ’์„ ๊ตฌํ•ด์ฃผ๋ฉด ๋œ๋‹ค๊ณ  ์ƒ๊ฐ ํ–ˆ๋‹ค. ๐Ÿ™…๐Ÿป‍โ™€๏ธ์ฒซ๋ฒˆ์งธ ์‹œ๋„(์‹คํŒจ) ์ผ๋‹จ ์ด๊ฒŒ ๋‚ด๊ฐ€ ์ฒ˜์Œ์— ์ƒ๊ฐํ–ˆ๋˜ ์ฟผ๋ฆฌ์ด๋‹ค. ๋ฐ”๋กœ ๊ตฌ๋ฌธ ์˜ค๋ฅ˜๊ฐ€ ๋–ด๋‹ค. GROUP BY์ ˆ์— ์ง‘๊ณ„๋˜์ง€ ์•Š์€ ์ปฌ๋Ÿผ A.ID๊ฐ€ ์žˆ๋‹ค๊ณ  ํ•˜๋Š” ์˜ค๋ฅ˜ ๋ฉ”์„ธ์ง€๊ฐ€ ๋–ด๋‹ค. ํ˜„์žฌ GROUP BY ์ ˆ์— B.FISH_NAME๋งŒ ์žˆ๊ณ , A.ID๋Š” GROUP BY์— ํฌํ•จ๋˜์ง€ ์•Š์•„์„œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒƒ์ด๋‹ค. ORDER BY์— A.ID๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ, ๊ทธ ์—ด์ด GROUP BY ์ ˆ์— ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š์œผ๋ฉด ๊ฒฐ๊ณผ๊ฐ€ ์˜ˆ๊ธฐ์น˜ ์•Š๊ฒŒ ๋‚˜ํƒ€๋‚  ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค. ๊ทธ๋ž˜์„œ GROUP..
๋ฒ„๋‹ˆ์„ ๋ฌผ   ๋‚ ์”จ๊ฐ€ ๋ถ€์ฉ ์ถ”์›Œ์กŒ์˜ค์š”์ฆ˜ ์—ฐ๋ง์ด๊ธฐ๋„ ํ•˜๊ณ  ๊ฒฝ๊ธฐ๋„ ์•ˆ์ข‹์•„์„œ ๊ทธ๋Ÿฐ์ง€์‡ผํ•‘๋ชฐ๋งˆ๋‹ค ์˜ท ์„ธ์ผ์„ ์ง„์งœ ๋งŽ์ด ํ•˜๋Š” ๊ฒƒ ๊ฐ™๋‹ค๊ตฌ๋ž˜์„œ ์ด๋žœ๋“œ๋ชฐ์—์„œ ์˜ฌ ๊ฒจ์šธ์— ์“ธ ์žฅ๊ฐ‘ ์ƒ€๋‹ค.์†๋์— ๊ท€์—ฌ์šด ๋ฐฐ์ƒ‰ ์žˆ๋Š” ์žฅ๊ฐ‘์œผ๋กœ ํ–ˆ๋‹ค์ €๋ ดํ•˜๊ฒŒ ๊ตฌ๋งคํ–ˆ๋Š”๋ฐ ์ด์˜๊ฒŒ ํฌ์žฅ๋˜์–ด์„œ ์™€์„œ ์ข‹์•˜๋‹ค > ๊ทธ๋ฆฌ๊ณ  ์š”์ฆ˜...ํžˆํ”ผํŽŒ ๋„ˆ๋ฌด ํ•˜๊ณ ์‹ถ๋‹ค ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ ์ด๋Ÿฐ ๋ฏธ๋ชจ์ง€ ๋„ˆ๋‚Œ์œผ๋กœ ํ•˜๊ณ  ์‹ถ์€๋ฐใ…Žใ…Žใ…Žใ…Žใ…‹ใ…‹ใ…‹ใ…‹ํŽŒ ํ•˜๋Š”๋ฐ 20-30์ธ๋ฐ ๊ทธ๋ƒฅ ํ–ˆ๋‹ค๊ฐ€๋Š” ํฐ์ผ๋‚ ์ง€ ๋ชฐ๋ผ๊ตฌ๋ž˜์„œ ๋จผ์ € ๋ฌผ๊ฒฐ๊ณ ๋ฐ๊ธฐ ์‚ฌ์„œ ํ•œ๋ฒˆ ใ…‹ใ…‹ใ…‹ใ…‹ ๋ณด๋ ค๊ณ  ํ–ˆ๋‹ค์ฟ ํŒก์—์„œ ๋กœ์ผ“์ง๊ตฌ๋กœ ๋ฌผ๊ฒฐ๊ณ ๋ฐ๊ธฐ ์ฃผ๋ฌธํ•œ๊ณ  ์˜ค๋Š˜ ์™”์˜ค ์•„์ง ์จ๋ณด๊ธฐ ์ „์ด๊ณ  ํ›„๊ธฐ๋Š” ๋‚˜์ค‘์— ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹๋‘๊ทผ๋‘๊ทผ๋นจ๋ฆฌ ํ•ด๋ณด๊ณ  ์‹ถ๋‹ค ์–ด๋–ค ๋„ˆ๋‚Œ ์›ํ•˜๋ƒ๋ฉดํ—ค๋ฅด๋ฏธ์˜จ๋Š ๊ทธ๋ ˆ์ธ์ € ์–‘ ๋„ˆ๋‚Œ๋ˆ„๊ฐ€ ๋ด๋„ ๊ฐœ์„ฑ ๋งŒ์ ์ธ ํ—ค์–ด๋ฅผ ์›ํ–‰ ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ ๋‰ด์ง„์Šค ๋‹ค๋‹ˆ์—˜์ด๋ž‘ ํ”„๋ฆฌ์ง€์•„ ๋ฝ€๊ธ€๋จธ๋ฆฌ ๋„˜ ..
์ธ์ ˆ๋ฏธ์˜€๋˜๊ฒƒ
'๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (11 Page)
์ƒ๋‹จ์œผ๋กœ