๋ฐ˜์‘ํ˜•

๐Ÿ’ SQL 77

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

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

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

https://school.programmers.co.kr/learn/courses/30/lessons/293260 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.programmers.co.kr ๋ฌธ์ œ์›”๋ณ„ ์žก์€ ๋ฌผ๊ณ ๊ธฐ์˜ ์ˆ˜์™€ ์›”์„ ์ถœ๋ ฅํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.์žก์€ ๋ฌผ๊ณ ๊ธฐ ์ˆ˜ ์ปฌ๋Ÿผ๋ช…์€ FISH_COUNT, ์›” ์ปฌ๋Ÿผ๋ช…์€ MONTH๋กœ ํ•ด์ฃผ์„ธ์š”.๊ฒฐ๊ณผ๋Š” ์›”์„ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์„ธ์š”.๋‹จ, ์›”์€ ์ˆซ์žํ˜•ํƒœ (1~12) ๋กœ ์ถœ๋ ฅํ•˜๋ฉฐ 9 ์ดํ•˜์˜ ์ˆซ์ž๋Š” ๋‘ ์ž๋ฆฌ๋กœ ์ถœ๋ ฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์žก์€ ๋ฌผ๊ณ ๊ธฐ๊ฐ€ ์—†๋Š” ์›”์€ ์ถœ๋ ฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ’€์ดselect count(ID) as FISH_COUNT, month(T..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][SQL] ๋ถ€์„œ๋ณ„ ํ‰๊ท  ์—ฐ๋ด‰ ์กฐํšŒํ•˜๊ธฐ

https://school.programmers.co.kr/learn/courses/30/lessons/284529 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.programmers.co.kr ๋ฌธ์ œHR_DEPARTMENT์™€ HR_EMPLOYEES ํ…Œ์ด๋ธ”์„ ์ด์šฉํ•ด ๋ถ€์„œ๋ณ„ ํ‰๊ท  ์—ฐ๋ด‰์„ ์กฐํšŒํ•˜๋ ค ํ•ฉ๋‹ˆ๋‹ค.  ๋ถ€์„œ๋ณ„๋กœ ๋ถ€์„œ ID, ์˜๋ฌธ ๋ถ€์„œ๋ช…, ํ‰๊ท  ์—ฐ๋ด‰์„ ์กฐํšŒํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.ํ‰๊ท ์—ฐ๋ด‰์€ ์†Œ์ˆ˜์  ์ฒซ์งธ ์ž๋ฆฌ์—์„œ ๋ฐ˜์˜ฌ๋ฆผํ•˜๊ณ  ์ปฌ๋Ÿผ๋ช…์€ AVG_SAL๋กœ ํ•ด์ฃผ์„ธ์š”.๊ฒฐ๊ณผ๋Š” ๋ถ€์„œ๋ณ„ ํ‰๊ท  ์—ฐ๋ด‰์„ ๊ธฐ์ค€์œผ๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์„ธ์š”. ํ’€์ดselect e.DEPT_ID, d.DEPT_NAME_EN, round(..

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

https://school.programmers.co.kr/learn/courses/30/lessons/273710 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.programmers.co.kr ๋ฌธ์ œROOT ์•„์ดํ…œ์„ ์ฐพ์•„ ์•„์ดํ…œ ID(ITEM_ID), ์•„์ดํ…œ ๋ช…(ITEM_NAME)์„ ์ถœ๋ ฅํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด ์ฃผ์„ธ์š”. ์ด๋•Œ, ๊ฒฐ๊ณผ๋Š” ์•„์ดํ…œ ID๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•ด ์ฃผ์„ธ์š”.ํ’€์ดselect i.ITEM_ID, i.ITEM_NAMEfrom ITEM_INFO i join ITEM_TREE t on i.ITEM_ID = t.ITEM_IDwhere t.PARENT_ITEM_ID is NULLo..

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

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

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][SQL] ์—ฐ๋„ ๋ณ„ ํ‰๊ท  ๋ฏธ์„ธ๋จผ์ง€ ๋†๋„ ์กฐํšŒํ•˜๊ธฐ

https://school.programmers.co.kr/learn/courses/30/lessons/284530 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.programmers.co.kr ๋ฌธ์ œAIR_POLLUTION ํ…Œ์ด๋ธ”์—์„œ ์ˆ˜์› ์ง€์—ญ์˜ ์—ฐ๋„ ๋ณ„ ํ‰๊ท  ๋ฏธ์„ธ๋จผ์ง€ ์˜ค์—ผ๋„์™€ ํ‰๊ท  ์ดˆ๋ฏธ์„ธ๋จผ์ง€ ์˜ค์—ผ๋„๋ฅผ ์กฐํšŒํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ด๋•Œ, ํ‰๊ท  ๋ฏธ์„ธ๋จผ์ง€ ์˜ค์—ผ๋„์™€ ํ‰๊ท  ์ดˆ๋ฏธ์„ธ๋จผ์ง€ ์˜ค์—ผ๋„์˜ ์ปฌ๋Ÿผ๋ช…์€ ๊ฐ๊ฐ PM10, PM2.5๋กœ ํ•ด ์ฃผ์‹œ๊ณ , ๊ฐ’์€ ์†Œ์ˆ˜ ์…‹์งธ ์ž๋ฆฌ์—์„œ ๋ฐ˜์˜ฌ๋ฆผํ•ด์ฃผ์„ธ์š”.๊ฒฐ๊ณผ๋Š” ์—ฐ๋„๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์„ธ์š”. ํ’€์ดselect year(YM) as YEAR, round(..

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

https://school.programmers.co.kr/learn/courses/30/lessons/293257 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.programmers.co.kr ๋ฌธ์ œFISH_NAME_INFO์—์„œ ๋ฌผ๊ณ ๊ธฐ์˜ ์ข…๋ฅ˜ ๋ณ„ ๋ฌผ๊ณ ๊ธฐ์˜ ์ด๋ฆ„๊ณผ ์žก์€ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.๋ฌผ๊ณ ๊ธฐ์˜ ์ด๋ฆ„ ์ปฌ๋Ÿผ๋ช…์€ FISH_NAME, ์žก์€ ์ˆ˜ ์ปฌ๋Ÿผ๋ช…์€ FISH_COUNT๋กœ ํ•ด์ฃผ์„ธ์š”.๊ฒฐ๊ณผ๋Š” ์žก์€ ์ˆ˜ ๊ธฐ์ค€์œผ๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์„ธ์š”. ํ’€์ดFISH_INFO์™€ FISH_NAME_INFO ๋ฅผ join ํ•ด์ฃผ๊ณ FISH_NAME์œผ๋กœ group by ํ•ด์ฃผ๋ฉด ๋select count(i.ID) a..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][SQL] ์กฐ๊ฑด์— ๋งž๋Š” ์•„์ดํ…œ๋“ค์˜ ๊ฐ€๊ฒฉ์˜ ์ดํ•ฉ ๊ตฌํ•˜๊ธฐ

https://school.programmers.co.kr/learn/courses/30/lessons/273709 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.programmers.co.kr ๋ฌธ์ œITEM_INFO ํ…Œ์ด๋ธ”์—์„œ ํฌ๊ท€๋„๊ฐ€ 'LEGEND'์ธ ์•„์ดํ…œ๋“ค์˜ ๊ฐ€๊ฒฉ์˜ ์ดํ•ฉ์„ ๊ตฌํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด ์ฃผ์„ธ์š”. ์ด๋•Œ ์ปฌ๋Ÿผ๋ช…์€ 'TOTAL_PRICE'๋กœ ์ง€์ •ํ•ด ์ฃผ์„ธ์š”. ํ’€์ดselect sum(PRICE) as TOTAL_PRICEfrom ITEM_INFOwhere RARITY = 'LEGEND'

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][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

๋ฐ˜์‘ํ˜•