๋ฐ˜์‘ํ˜•

๐Ÿ’ SQL (Programmers)/Select 22

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][MySQL] ํŠน์ • ํ˜•์งˆ์„ ๊ฐ€์ง€๋Š” ๋Œ€์žฅ๊ท  ์ฐพ๊ธฐ (level1)

https://school.programmers.co.kr/learn/courses/30/lessons/301646 ํ”„๋กœ๊ทธ๋ž˜๋จธ์ŠคSW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„programmers.co.kr ๋ฌธ์ œ2๋ฒˆ ํ˜•์งˆ์ด ๋ณด์œ ํ•˜์ง€ ์•Š์œผ๋ฉด์„œ 1๋ฒˆ์ด๋‚˜ 3๋ฒˆ ํ˜•์งˆ์„ ๋ณด์œ ํ•˜๊ณ  ์žˆ๋Š”๋Œ€์žฅ๊ท  ๊ฐœ์ฒด์˜ ์ˆ˜(COUNT)๋ฅผ ์ถœ๋ ฅํ•˜๋Š” SQL ๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. 1๋ฒˆ๊ณผ 3๋ฒˆ ํ˜•์งˆ์„ ๋ชจ๋‘ ๋ณด์œ ํ•˜๊ณ  ์žˆ๋Š” ๊ฒฝ์šฐ๋„ 1๋ฒˆ์ด๋‚˜ 3๋ฒˆ ํ˜•์งˆ์„ ๋ณด์œ ํ•˜๊ณ  ์žˆ๋Š” ๊ฒฝ์šฐ์— ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ํ’€์ดn๋ฒˆ ํ˜•์งˆ์„ ๋ณด์œ ํ•˜๊ณ  ์žˆ๋‹ค = 2^(n-1) ์™€ & ์—ฐ์‚ฐ์„ ํ•˜๋ฉด 2^(n-1)๊ฐ€ ๋‚˜์˜จ๋‹ค. ex1. 1๋ฒˆ ํ˜•์งˆ์„ ๋ณด์œ ํ•˜๋ ค๋ฉด 2^(1-1) = 1 = 0001(2) ์™€ ์—ฐ์‚ฐ์„ ํ•ด์•ผํ•œ๋‹ค.GENOTYPE = 11..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][MySQL] ์กฐ๊ฑด์— ๋งž๋Š” ๊ฐœ๋ฐœ์ž ์ฐพ๊ธฐ (level2)

https://school.programmers.co.kr/learn/courses/30/lessons/276034 ํ”„๋กœ๊ทธ๋ž˜๋จธ์ŠคSW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„programmers.co.kr ๋ฌธ์ œDEVELOPERS ํ…Œ์ด๋ธ”์—์„œ Python์ด๋‚˜ C# ์Šคํ‚ฌ์„ ๊ฐ€์ง„ ๊ฐœ๋ฐœ์ž์˜ ์ •๋ณด๋ฅผ ์กฐํšŒํ•˜๋ ค ํ•ฉ๋‹ˆ๋‹ค. ์กฐ๊ฑด์— ๋งž๋Š” ๊ฐœ๋ฐœ์ž์˜ ID, ์ด๋ฉ”์ผ, ์ด๋ฆ„, ์„ฑ์„ ์กฐํšŒํ•˜๋Š” SQL ๋ฌธ์„ ์ž‘์„ฑํ•ด ์ฃผ์„ธ์š”.๊ฒฐ๊ณผ๋Š” ID๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•ด ์ฃผ์„ธ์š”. ํ’€์ด๊ฐœ๋ฐœ์ž ์ •๋ณด์™€ ์Šคํ‚ฌ ์ •๋ณด๋ฅผ joinํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š”DEVELOPER ํ…Œ์ด๋ธ”์˜ SKILL_CODE์™€ SKILLCODES ํ…Œ์ด๋ธ”์˜ CODE๋ฅผ ์—ฎ์–ด์•ผํ•œ๋‹ค์Šคํ‚ฌ์ฝ”๋“œ์™€ ์ฝ”๋“œ๊ฐ€ ๋‘˜ ๋‹ค ์ด์ง„์ˆ˜๊ธฐ ๋•Œ๋ฌธ์— ๋น„ํŠธ์—ฐ์‚ฐ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][MySQL] ์—…๊ทธ๋ ˆ์ด๋“œ ๋œ ์•„์ดํ…œ ๊ตฌํ•˜๊ธฐ (level2)

https://school.programmers.co.kr/learn/courses/30/lessons/273711 ํ”„๋กœ๊ทธ๋ž˜๋จธ์ŠคSW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„programmers.co.kr ๋ฌธ์ œ์•„์ดํ…œ์˜ ํฌ๊ท€๋„๊ฐ€ 'RARE'์ธ ์•„์ดํ…œ๋“ค์˜๋ชจ๋“  ๋‹ค์Œ ์—…๊ทธ๋ ˆ์ด๋“œ ์•„์ดํ…œ์˜์•„์ดํ…œ ID(ITEM_ID), ์•„์ดํ…œ ๋ช…(ITEM_NAME), ์•„์ดํ…œ์˜ ํฌ๊ท€๋„(RARITY)๋ฅผ ์ถœ๋ ฅํ•˜๋Š” SQL ๋ฌธ์„ ์ž‘์„ฑํ•ด ์ฃผ์„ธ์š”.์ด๋•Œ ๊ฒฐ๊ณผ๋Š” ์•„์ดํ…œ ID๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ์ฃผ์„ธ์š”. ์ฝ”๋“œselect a.ITEM_ID, a.ITEM_NAME, a.RARITYfrom ITEM_INFO a join ( select i.ITEM_ID as parent_..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][SQL] ๋Œ€์žฅ๊ท ๋“ค์˜ ์ž์‹์˜ ์ˆ˜ ๊ตฌํ•˜๊ธฐ (299305)

https://school.programmers.co.kr/learn/courses/30/lessons/299305 ํ”„๋กœ๊ทธ๋ž˜๋จธ์ŠคSW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„programmers.co.kr ๋ฌธ์ œ๋Œ€์žฅ๊ท  ๊ฐœ์ฒด์˜ ID(ID)์™€ ์ž์‹์˜ ์ˆ˜(CHILD_COUNT)๋ฅผ ์ถœ๋ ฅํ•˜๋Š” SQL ๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.์ž์‹์ด ์—†๋‹ค๋ฉด ์ž์‹์˜ ์ˆ˜๋Š” 0์œผ๋กœ ์ถœ๋ ฅํ•ด์ฃผ์„ธ์š”.์ด๋•Œ ๊ฒฐ๊ณผ๋Š” ๊ฐœ์ฒด์˜ ID ์— ๋Œ€ํ•ด ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์„ธ์š”. ํ’€์ดselect p.ID, ifnull(c.cnt, 0) as CHILD_COUNTfrom ECOLI_DATA p left join ( select PARENT_ID, count(ID) as cnt from ..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][SQL] ํŠน์ • ๋ฌผ๊ณ ๊ธฐ๋ฅผ ์žก์€ ์ด ์ˆ˜ ๊ตฌํ•˜๊ธฐ (298518)

https://school.programmers.co.kr/learn/courses/30/lessons/298518 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.programmers.co.kr ๋ฌธ์ œFISH_INFO ํ…Œ์ด๋ธ”์—์„œ ์žก์€ BASS์™€ SNAPPER์˜ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋Š” SQL ๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.์ปฌ๋Ÿผ๋ช…์€ 'FISH_COUNT`๋กœ ํ•ด์ฃผ์„ธ์š”. ํ’€์ดselect count(ID) as FISH_COUNTfrom FISH_INFOwhere FISH_TYPE in ( select FISH_TYPE from FISH_NAME_INFO where FISH_NAME = 'BASS' or ..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][SQL] ๋Œ€์žฅ๊ท ์˜ ํฌ๊ธฐ์— ๋”ฐ๋ผ ๋ถ„๋ฅ˜ํ•˜๊ธฐ 1

https://school.programmers.co.kr/learn/courses/30/lessons/299307 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.programmers.co.kr ๋ฌธ์ œ๋Œ€์žฅ๊ท  ๊ฐœ์ฒด์˜ ํฌ๊ธฐ๊ฐ€ 100 ์ดํ•˜๋ผ๋ฉด 'LOW', 100 ์ดˆ๊ณผ 1000 ์ดํ•˜๋ผ๋ฉด 'MEDIUM', 1000 ์ดˆ๊ณผ๋ผ๋ฉด 'HIGH' ๋ผ๊ณ  ๋ถ„๋ฅ˜ํ•ฉ๋‹ˆ๋‹ค. ๋Œ€์žฅ๊ท  ๊ฐœ์ฒด์˜ ID(ID) ์™€ ๋ถ„๋ฅ˜(SIZE)๋ฅผ ์ถœ๋ ฅํ•˜๋Š” SQL ๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.์ด๋•Œ ๊ฒฐ๊ณผ๋Š” ๊ฐœ์ฒด์˜ ID ์— ๋Œ€ํ•ด ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์„ธ์š”. ํ’€์ดselect ID, case when SIZE_OF_COLONY

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][SQL] ๊ฐ€์žฅ ํฐ ๋ฌผ๊ณ ๊ธฐ 10๋งˆ๋ฆฌ ๊ตฌํ•˜๊ธฐ

https://school.programmers.co.kr/learn/courses/30/lessons/298517 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ๋ฌธ์ œ FISH_INFO ํ…Œ์ด๋ธ”์—์„œ ๊ฐ€์žฅ ํฐ ๋ฌผ๊ณ ๊ธฐ 10๋งˆ๋ฆฌ์˜ ID์™€ ๊ธธ์ด๋ฅผ ์ถœ๋ ฅํ•˜๋Š” SQL ๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ๊ฒฐ๊ณผ๋Š” ๊ธธ์ด๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌํ•˜๊ณ , ๊ธธ์ด๊ฐ€ ๊ฐ™๋‹ค๋ฉด ๋ฌผ๊ณ ๊ธฐ์˜ ID์— ๋Œ€ํ•ด ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์„ธ์š”. ๋‹จ, ๊ฐ€์žฅ ํฐ ๋ฌผ๊ณ ๊ธฐ 10๋งˆ๋ฆฌ ์ค‘ ๊ธธ์ด๊ฐ€ 10cm ์ดํ•˜์ธ ๊ฒฝ์šฐ๋Š” ์—†์Šต๋‹ˆ๋‹ค. ID ์ปฌ๋Ÿผ๋ช…์€ ID, ๊ธธ์ด ์ปฌ๋Ÿผ๋ช…์€ LENGTH๋กœ ํ•ด์ฃผ์„ธ์š”. ํ’€์ด select id, length from f..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][SQL] ์ž”์ฑ™์ด ์žก์€ ์ˆ˜ ๊ตฌํ•˜๊ธฐ

https://school.programmers.co.kr/learn/courses/30/lessons/293258 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ๋ฌธ์ œ ์žก์€ ๋ฌผ๊ณ ๊ธฐ ์ค‘ ๊ธธ์ด๊ฐ€ 10cm ์ดํ•˜์ธ ๋ฌผ๊ณ ๊ธฐ์˜ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋Š” SQL ๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ๋ฌผ๊ณ ๊ธฐ์˜ ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ปฌ๋Ÿผ ๋ช…์€ FISH_COUNT๋กœ ํ•ด์ฃผ์„ธ์š”. ํ’€์ด select count(ID) as FISH_COUNT from FISH_INFO where LENGTH is null

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][SQL] Python ๊ฐœ๋ฐœ์ž ๊ตฌํ•˜๊ธฐ

https://school.programmers.co.kr/learn/courses/30/lessons/276013 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ๋ฌธ์ œ DEVELOPER_INFOS ํ…Œ์ด๋ธ”์—์„œ Python ์Šคํ‚ฌ์„ ๊ฐ€์ง„ ๊ฐœ๋ฐœ์ž์˜ ์ •๋ณด๋ฅผ ์กฐํšŒํ•˜๋ ค ํ•ฉ๋‹ˆ๋‹ค. Python ์Šคํ‚ฌ์„ ๊ฐ€์ง„ ๊ฐœ๋ฐœ์ž์˜ ID, ์ด๋ฉ”์ผ, ์ด๋ฆ„, ์„ฑ์„ ์กฐํšŒํ•˜๋Š” SQL ๋ฌธ์„ ์ž‘์„ฑํ•ด ์ฃผ์„ธ์š”. ๊ฒฐ๊ณผ๋Š” ID๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•ด ์ฃผ์„ธ์š”. ํ’€์ด select ID, EMAIL, FIRST_NAME, LAST_NAME from DEVELOPER_INFOS where SKILL_1 = '..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][SQL] ์˜คํ”„๋ผ์ธ/์˜จ๋ผ์ธ ํŒ๋งค ๋ฐ์ดํ„ฐ ํ†ตํ•ฉํ•˜๊ธฐ

https://school.programmers.co.kr/learn/courses/30/lessons/131537 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ONLINE_SALE ํ…Œ์ด๋ธ”๊ณผ OFFLINE_SALE ํ…Œ์ด๋ธ”์—์„œ 2022๋…„ 3์›”์˜ ์˜คํ”„๋ผ์ธ/์˜จ๋ผ์ธ ์ƒํ’ˆ ํŒ๋งค ๋ฐ์ดํ„ฐ์˜ ํŒ๋งค ๋‚ ์งœ, ์ƒํ’ˆID, ์œ ์ €ID, ํŒ๋งค๋Ÿ‰์„ ์ถœ๋ ฅํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. OFFLINE_SALE ํ…Œ์ด๋ธ”์˜ ํŒ๋งค ๋ฐ์ดํ„ฐ์˜ USER_ID ๊ฐ’์€ NULL ๋กœ ํ‘œ์‹œํ•ด์ฃผ์„ธ์š”. ๊ฒฐ๊ณผ๋Š” ํŒ๋งค์ผ์„ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์‹œ๊ณ  ํŒ๋งค์ผ์ด ๊ฐ™๋‹ค๋ฉด ์ƒํ’ˆ ID๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ, ์ƒํ’ˆID๊นŒ์ง€ ๊ฐ™..

๋ฐ˜์‘ํ˜•