Banner

My Tech Blog (์ฝ”๋”ฉํ…Œ์ŠคํŠธ)

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..
1. ๋ฌธ์ œ์„ค๋ช… 2. ์ ‘๊ทผ๋ฐฉ์‹ & ์ •๋‹ต์ฝ”๋“œ ๋ฌธ์ œ๋งŒ ์ฝ์–ด๋„ ์•„์ดํ…œ์ด ์ƒ์œ„ ์•„์ดํ…œ์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ ๋  ์ˆ˜ ์žˆ๋Š” ๊ฑธ ๋ณด๋‹ˆ, ๊ณ„์ธต๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๊ณ  ๋ณด์—ฌ์ง„๋‹ค. 1. ๋จผ์ € ITEM_INFOํ…Œ์ด๋ธ”์—์„œ RARITY ๊ฐ€ 'RARE'์ธ ์•„์ดํ…œ๋“ค์˜ ITEM_ID ๊ฐ’์„ ์ฐพ๋Š”๋‹ค.2. ITEM_INFO ํ…Œ์ด๋ธ”์˜ ITEM_ID๋ž‘ ITEM_TREE์˜ PARENT_ITEM_ID๊ฐ€ ๊ฐ™๋‹ค๋Š” ์กฐ๊ฑด์œผ๋กœ ITEM_INFO์™€ ITEM TREE ํ…Œ์ด๋ธ”์„ ์กฐ์ธํ–ˆ๋‹ค. WHERE ์ ˆ์— 1์กฐ๊ฑด์„ ๋‹ฌ์•„์„œ ITEM_TREE.PARENT_ITEM_ID๊ฐ€ 1์กฐ๊ฑด ์— ํ•ด๋‹นํ•˜๋Š”์ง€ ์ฐพ์•„ ์ค€๋‹ค.   ๊ณ„์† ํ‹€๋ฆฐ๋‹ค....ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹์•„์ด๊ณ  ๋จธ๋ฆฌ์•ผ  ๐Ÿฆ JOIN 1๋ฒˆ ํ•˜๋Š” ์ •๋‹ต์ฝ”๋“œSELECT ITEM_INFO.ITEM_ID, ITEM_INFO.ITEM_NAME, ITE..
๋„ˆ๋ฌด ์‰ฌ์›Œ์„œ ๊ตณ์ด ๋ธ”๋กœ๊ทธ์— ์•ˆ ์˜ฌ๋ฆฌ๋ ค๋‹ค๊ฐ€ ์ฝ”๋“œ๋งŒ ์˜ฌ๋ฆฝ๋‹ˆ๋‹ค.ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค > ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต > SLQ > `SUM, MAX, MIN`์นดํ…Œ๊ณ ๋ฆฌ์— ์žˆ๋Š” ๋ฌธ์ œ๋“ค์ž…๋‹ˆ๋‹ค. ๊ทธ๋ƒฅ ํ•œ ๋ˆˆ์— ๋ณด๊ณ  ๋ฐ”๋กœ ํ’€ ์ˆ˜ ์žˆ๋Š” 5์ดˆ์ปท ๋ฌธ์ œ๋“ค์€ํ•œ ํฌ์ŠคํŒ… ๋‚ด์— ์—ฌ๋Ÿฌ ๊ฐœ ๋ฌถ์–ด์„œ ์˜ฌ๋ฆฌ๋Š” ๊ฒƒ์ด๋‹ˆ ๊ตฌ์ฒด์ ์ธ ์„ค๋ช…์ด ํ•„์š”ํ•˜์‹œ๊ฑฐ๋‚˜ ๊ถ๊ธˆํ•œ ์ ์€ ๋Œ“๊ธ€๋กœ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.ํ™•์ธํ•˜๋Š” ๋Œ€๋กœ ๋‹ต ๋“œ๋ฆฝ๋‹ˆ๋‹ค. 1. ๊ฐ€์žฅ ๋น„์‹ผ ์ƒํ’ˆ ๊ตฌํ•˜๊ธฐ MAX()SELECT MAX(PRICE) AS MAX_PRICEFROM PRODUCT ํ’€์–ด์„œ ์“ฐ๋Š” ์ฝ”๋“œSELECT PRICE AS MAX_PRICEFROM PRODUCTORDER BY PRICE DESCLIMIT 1;2. ์ตœ๋Œ“๊ฐ’ ๊ตฌํ•˜๊ธฐ SELECT MAX(DATETIME)FROM ANIMAL_INS;3. ์žก์€ ๋ฌผ๊ณ ๊ธฐ ์ค‘ ๊ฐ€์žฅ ํฐ ๋ฌผ๊ณ ..
1. ๋ฌธ์ œ์„ค๋ช… 2. ์ ‘๊ทผ๋ฐฉ์‹ & ์ •๋‹ต์ฝ”๋“œSELF JOIN์œผ๋กœ ๋ถ€๋ชจ-์ž์‹ ๊ด€๊ณ„๋ฅผ ๋™์ผํ•œ ํ…Œ์ด๋ธ” ๋‚ด์—์„œ ์กฐ์ธํ•ด์„œ ํ’€์–ด์ฃผ์ž.ํ•˜๋‚˜์˜ ํ…Œ์ด๋ธ”์— ALIAS๋ฅผ ์ค˜์„œ ๋งˆ์น˜ ๋‘ ๊ฐœ์˜ ํ…Œ์ด๋ธ”์ด ์žˆ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋‘ ๋ฒˆ ์ฐธ์กฐํ•˜๋Š” ๊ฒƒ์ด๋‹ค.  ๋‚ด๊ฐ€ ์•Œ๊ณ  ์žˆ๋Š” ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ SELF JOIN ์˜ˆ์‹œ๋Š” ์ง์›๋ณ„ ๋งค๋‹ˆ์ €๋ฅผ ๋‚˜ํƒ€๋‚ธ 1๊ฐœ์˜ ํ…Œ์ด๋ธ”์„ ์ž๊ธฐ์ž์‹ ๊ณผ ์กฐ์ธํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๋˜ ๊ณ„์ธต์ฟผ๋ฆฌ์—์„œ๋„ SELF JOIN์ด ๋งŽ์ด ์“ฐ์ธ๋‹ค. ์ด ๋ฌธ์ œ์—์„œ๋„ ํ•˜๋‚˜์˜ ํ…Œ์ด๋ธ”์— ๋ถ€๋ชจ์˜ ์•„์ด๋””์™€ ์ž์‹์˜ ์•„์ด๋””, ๊ฐœ์ฒด์˜ ํ˜•์งˆ(GENOTYPE)์ด ๋ชจ๋‘ ๋“ค์–ด ์žˆ๋‹ค. ๋ถ€๋ชจ์˜ ํ…Œ์ด๋ธ”์€ P๋กœ, ์ž์‹์˜ ํ…Œ์ด๋ธ”์€ ๊ทธ๋ƒฅ A๋ผ๊ณ  ๋ณ„์นญ์„ ์ค€ ๋’ค ์ž์‹ํ…Œ์ด๋ธ”์˜ PARENT_ID์ปฌ๋Ÿผ์„ ๋ถ€๋ชจ ํ…Œ์ด๋ธ”์˜ ID ๊ฐ’์œผ๋กœ ์กฐ์ธ ํ•œ๋‹ค. ๊ทธ ํ›„ WHERE ์ ˆ์— `A.GENOTYPE & P.GENOTYPE ..
1. ๋ฌธ์ œ์„ค๋ช… 2. ์ ‘๊ทผ ๋ฐฉ๋ฒ• & ์ •๋‹ต์ฝ”๋“œ`GENOTYPE`์„ ์ด์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•œ ๊ฐ’์˜ `๊ฐ ์ž๋ฆฟ์ˆ˜`๊ฐ€ `๋ณด์œ ํ•œ ํ˜•์งˆ`์„ ๋‚˜ํƒ€๋‚ด๋ฏ€๋กœ๋น„ํŠธ์—ฐ์‚ฐ์„ ํ•ด ์ฃผ์–ด์•ผ ํ•˜๋Š” ๋ฌธ์ œ๋ผ๋Š” ๊ฑธ ์•Œ ์ˆ˜ ์žˆ๋‹ค !  SELECT COUNT(*) AS COUNTFROM ECOLI_DATA AWHERE 1=1      AND (GENOTYPE & 2) != 2       AND ((GENOTYPE & 4) = 4 OR (GENOTYPE & 1) = 1) ์ด ๋ฌธ์ œ๋Š” WHERE์ ˆ ์ž‘์„ฑํ•˜๊ธฐ๊ฐ€ ์กฐ๊ธˆ ์–ด๋ ค์šธ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํ•˜๋‚˜์”ฉ ์ฐจ๊ทผ ์ฐจ๊ทผ ์„ค๋ช…์„ ํ•ด ๋ณด๊ฒ ๋‹ค. ๋จผ์ € ๋น„ํŠธ์—ฐ์‚ฐ์ด๋ž€ ๊ฑธ ๋ชจ๋ฅด๋ฉด ์ดํ•ด๊ฐ€ ์–ด๋ ค์šธ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋น„ํŠธ์—ฐ์‚ฐ ๋จผ์ € ์•Œ์•„๋ณด์ž.๋น„ํŠธ์—ฐ์‚ฐ์ด๋ž€?๋น„ํŠธ ์—ฐ์‚ฐ์€ ์ˆซ์ž๋ฅผ ์ด์ง„์ˆ˜ ํ˜•ํƒœ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๊ฐ ๋น„ํŠธ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ํ”„๋กœ๊ทธ..
๐Ÿฆ๋ฌธ์ œ์„ค๋ช… ์ฒ˜์Œ์—๋Š” ๋ณต์žกํ•˜๊ฒŒ ์ƒ๊ฐํ•ด์„œ ๋ฌธ์ œ๋ฅผ ํ’€์ง€ ๋ชปํ–ˆ๋‹ค. ๋‚˜๋Š” `๋‘ ํ…Œ์ด๋ธ”์„ ์กฐ์ธ์„ ํ•ด์•ผ ํ•˜๋Š”๋ฐ ์กฐ์ธ ์กฐ๊ฑด์„ ์–ด๋–ป๊ฒŒ ์ฃผ์ง€?` ์ด๋ ‡๊ฒŒ ์ƒ๊ฐ์„ ํ•˜๊ณ  ๋ฌธ์ œ์— ์ ‘๊ทผํ–ˆ๋‹ค. ๊ฒฐ๋ก ๋ถ€ํ„ฐ ๋งํ•˜๋ฉด ์กฐ์ธ์„ ํ•  ์ˆ˜ ์—†๋‹ค.์ด๊ฑด ์„œ๋ธŒ์ฟผ๋ฆฌ๋กœ ํ‘ธ๋Š” ๋ฌธ์ œ์˜€๋‹ค. ๋‚˜๋Š” ์ฒ˜์Œ์— ์ด ๋ฌธ์ œ๊ฐ€ ์ž๋ฐ” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ์ฒ˜๋Ÿผ ๋Š๊ปด์กŒ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ๋‚ด๊ฐ€ ์ง์ ‘ ์ด์ง„์ˆ˜ ๊ณ„์‚ฐ์„ ํ•˜๋Š” ๋กœ์ง์„ ์งœ์•ผ ํ•˜๋Š”๊ฑด๊ฐ€? ๋ผ๋Š” ์ƒ๊ฐ์„ ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.์ž๋ฆฌ์ˆ˜2561286432168421์ด์ง„์ˆ˜110010000 ์‹ญ์ง„์ˆ˜๋ฅผ ์ด์ง„์ˆ˜๋กœ ๋ฐ”๊พธ๋Š” `BIN(SKILL_CODE)` ํ•จ์ˆ˜ ์จ์„œ CODE ์ปฌ๋Ÿผ์ด๋ž‘ ๋งž์ถฐ๋ณผ๊นŒ ์ƒ๊ฐํ–ˆ๋Š”๋ฐ ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ์ข‹์„ ์ง€ ์‰ฝ๊ฒŒ ์ƒ๊ฐ์ด ๋‚˜์ง€ ์•Š์•˜๋‹ค. ๊ทธ ํ›„์— `SUBSTRING(BIN(SKILL_CODE),?,?)` ์ด๋Ÿฐ ์‹์œผ๋กœ ๊ฐ’์„ ์ž˜๋ผ ์ค˜์•ผ ํ•˜๋‚˜ ์ƒ๊ฐ๋„ ํ•ด ๋ดค..
๐Ÿ  ๊ฐ€์žฅ ํฐ ๋ฌผ๊ณ ๊ธฐ 10๋งˆ๋ฆฌ ๊ตฌํ•˜๊ธฐ  ๊ฐ€์žฅ ํฐ ๋ฌผ๊ณ ๊ธฐ 10๋งˆ๋ฆฌ๋ฅผ ์„ ํƒํ•˜๋ผ๊ณ  ํ–ˆ์œผ๋‹ˆ๊นŒ, ROWNUM์„์จ์•ผ ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ROWNUM์€ Oracle์—๋งŒ ์žˆ๋Š” ๋ฌธ๋ฒ•์ด๊ณ , MySQL์—์„œ๋Š” LIMIT ํ‚ค์›Œ๋“œ๋กœ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ์ฃผ์˜ํ•  ์ , ROWNUM / LIMIT ์€ ์„œ๋ธŒ์ฟผ๋ฆฌ(subquery)์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. ์„œ๋ธŒ์ฟผ๋ฆฌ๋ฅผ ์•ˆ ์“ฐ๋ฉด WHERE์ ˆ์ด SELECT์ ˆ๋ณด๋‹ค ๋จผ์ € ์ˆ˜ํ–‰๋˜์–ด ์›ํ•˜๋Š” ๊ฐ’์ด ๋‚˜์˜ค์ง€ ์•Š๋Š”๋‹ค.  ๊ธธ์ด๊ฐ€ ํฐ ์ˆœ์œผ๋กœ 10๊ฐœ๋ฅผ ๊ฐ€์ ธ์™€์•ผ ํ•˜๋Š”๋ฐ, ๊ธธ์ด์™€ ์ƒ๊ด€ ์—†์ด ๋žœ๋คํ•œ ๊ฐ’ 10๊ฐœ๊ฐ€ ์„ ํƒ๋˜๋Š” ๊ฒƒ์ด๋‹ค. ์ด๊ฒƒ์€ SQL๋ฌธ์˜ ์‹คํ–‰์ˆœ์„œ ๋•Œ๋ฌธ์ด๋‹ค. SQL์˜ ์‹คํ–‰ ์ˆœ์„œFROM - WHERE(ROWNUM ์‹คํ–‰) - GROUP BY - HAVING - SELECT - ORDER BY LENGTH๋ฅผ ํฐ ๊ฐ’๋ถ€ํ„ฐ ์ •..
์‰ฌ์šด ๋ฌธ์ œ๋Š” ํ•œ ๋ฒˆ์— ๋‘ ์„ธ๊ฐœ์”ฉ ํฌ์ŠคํŒ… ํ•˜๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ์ด ๋ฌธ์ œ๋Š” ์ƒ๊ฐ ํ•ด ๋ณผ ์—ฌ์ง€๊ฐ€ ๋งŽ๊ธฐ ๋•Œ๋ฌธ์— ํ•˜๋‚˜๋งŒ ์˜ฌ๋ฆฐ๋‹ค.๋…ผ๋ž€์˜ ์—ฌ์ง€๊ฐ€ ์žˆ๊ณ  ๋งŽ์€ ์˜๋ฌธ์ด ์ œ๊ธฐ๋˜๋Š” ๋ฌธ์ œ์ธ๋ฐ ๊ฐ™์€ ๊ณ ๋ฏผ์„ ํ•˜์‹  ๋ถ„๋“ค๊ป˜ ์ด ๋ฌธ์ œ์™€ ๊ด€๋ จํ•ด์„œ ๋‚ด๊ฐ€ ์ƒ๊ฐํ•ด๋ณด๊ณ  ์กฐ์‚ฌํ•œ ๋‚ด์šฉ์„ ๊ณต์œ ๋ฅผ ํ•ด๋ณด๊ณ ์žํ•œ๋‹ค. ๋‚ด๊ฐ€ ๊ถ๊ธˆํ–ˆ๋˜ ์ ์€ ์•„๋ž˜ ๋‘ ๊ฐ€์ง€์˜€๋‹ค. - "LENGTH ์— NULL ๋งŒ ์žˆ๋Š” ๊ฒฝ์šฐ๋Š” ์—†์Šต๋‹ˆ๋‹ค"๋ผ๋Š” ์กฐ๊ฑด์€ ์™œ ํ•„์š”ํ•œ ๊ฒƒ์ธ๊ฐ€์š”?- ์™œ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค 2๋งŒ ์‹คํŒจ๊ฐ€ ๋œจ๋Š” ๊ฒƒ์ธ๊ฐ€์š”? ๋‚ด์ง€ 10cm ์ดํ•˜์ธ๋ฐ ์™œ ์ •๋‹ต์ฝ”๋“œ์—์„œ๋Š” ` ์ด ํฌ์ŠคํŒ…์— ๋Œ€ํ•ด์„œ๋Š” ์œ„ ์งˆ๋ฌธ๋“ค์— ๋Œ€ํ•ด ๋ช…์พŒํ•œ ํ•ด๋‹ต์„ ํ•  ๊ฒƒ์ด๋‹ค์ฒซ๋ฒˆ์งธ ์งˆ๋ฌธ์€ ๋ฌธ์ œ๋ฅผ ์ž์„ธํžˆ ์ฝ๊ณ  ์ƒ๊ฐํ•ด๋ณด๋‹ˆ ๋‹ต์„ ์ฐพ์„ ์ˆ˜ ์žˆ์—ˆ๊ณ  ๋‘๋ฒˆ์งธ ์งˆ๋ฌธ์€ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ์„ค๋ช…์„ ์ฐธ๊ณ ํ–ˆ๋‹ค. ๐Ÿ  ์ž”์ฑ™์ด ์žก์€ ์ˆ˜ ๊ตฌํ•˜๊ธฐ LENGTH ์ปฌ๋Ÿผ์— NULL๊ฐ’์ด..
์ธ์ ˆ๋ฏธ์˜€๋˜๊ฒƒ
'์ฝ”๋”ฉํ…Œ์ŠคํŠธ' ํƒœ๊ทธ์˜ ๊ธ€ ๋ชฉ๋ก (3 Page)
์ƒ๋‹จ์œผ๋กœ