์ด๋ ค์์ ๋ฏธ๋ฃจ๋ค๊ฐ ๋ชป ํผ ๋ฌธ์ ๊ฐ 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๋ฅผ ๋ถ๋ชจ๋ก ๊ฐ..
My Tech Blog (๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ)
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์ธ๋ฐ ๊ทธ๋ฅ ํ๋ค๊ฐ๋ ํฐ์ผ๋ ์ง ๋ชฐ๋ผ๊ตฌ๋์ ๋จผ์ ๋ฌผ๊ฒฐ๊ณ ๋ฐ๊ธฐ ์ฌ์ ํ๋ฒ ใ
ใ
ใ
ใ
๋ณด๋ ค๊ณ ํ๋ค์ฟ ํก์์ ๋ก์ผ์ง๊ตฌ๋ก ๋ฌผ๊ฒฐ๊ณ ๋ฐ๊ธฐ ์ฃผ๋ฌธํ๊ณ ์ค๋ ์์ค ์์ง ์จ๋ณด๊ธฐ ์ ์ด๊ณ ํ๊ธฐ๋ ๋์ค์ ใ
ใ
ใ
ใ
ใ
๋๊ทผ๋๊ทผ๋นจ๋ฆฌ ํด๋ณด๊ณ ์ถ๋ค ์ด๋ค ๋๋ ์ํ๋๋ฉดํค๋ฅด๋ฏธ์จ๋ ๊ทธ๋ ์ธ์ ์ ๋๋๋๊ฐ ๋ด๋ ๊ฐ์ฑ ๋ง์ ์ธ ํค์ด๋ฅผ ์ํ ใ
ใ
ใ
ใ
ใ
ใ
ใ
๋ด์ง์ค ๋ค๋์์ด๋ ํ๋ฆฌ์ง์ ๋ฝ๊ธ๋จธ๋ฆฌ ๋ ..