๋ฐ˜์‘ํ˜•

๐Ÿ’ SQL (Programmers) 91

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][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] ์กฐ๊ฑด์— ๋งž๋Š” ์‚ฌ์› ์ •๋ณด ์กฐํšŒํ•˜๊ธฐ (284527)

https://school.programmers.co.kr/learn/courses/30/lessons/284527 ๋ฌธ์ œHR_DEPARTMENT, HR_EMPLOYEES, HR_GRADE ํ…Œ์ด๋ธ”์—์„œ 2022๋…„๋„ ํ•œํ•ด ํ‰๊ฐ€ ์ ์ˆ˜๊ฐ€ ๊ฐ€์žฅ ๋†’์€ ์‚ฌ์› ์ •๋ณด๋ฅผ ์กฐํšŒํ•˜๋ ค ํ•ฉ๋‹ˆ๋‹ค. 2022๋…„๋„ ํ‰๊ฐ€ ์ ์ˆ˜๊ฐ€ ๊ฐ€์žฅ ๋†’์€ ์‚ฌ์›๋“ค์˜ ์ ์ˆ˜, ์‚ฌ๋ฒˆ, ์„ฑ๋ช…, ์ง์ฑ…, ์ด๋ฉ”์ผ์„ ์กฐํšŒํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.2022๋…„๋„์˜ ํ‰๊ฐ€ ์ ์ˆ˜๋Š” ์ƒ,ํ•˜๋ฐ˜๊ธฐ ์ ์ˆ˜์˜ ํ•ฉ์„ ์˜๋ฏธํ•˜๊ณ , ํ‰๊ฐ€ ์ ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ปฌ๋Ÿผ์˜ ์ด๋ฆ„์€ SCORE๋กœ ํ•ด์ฃผ์„ธ์š”. ํ’€์ดselect s.SCORE, e.EMP_NO, e.EMP_NAME, e.POSITION, e.EMAILfrom HR_EMPLOYEES e join ( select EMP_NO, sum(..

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

https://school.programmers.co.kr/learn/courses/30/lessons/293259 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.programmers.co.kr ๋ฌธ์ œ์žก์€ ๋ฌผ๊ณ ๊ธฐ์˜ ํ‰๊ท  ๊ธธ์ด๋ฅผ ์ถœ๋ ฅํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.ํ‰๊ท  ๊ธธ์ด๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ปฌ๋Ÿผ ๋ช…์€ AVERAGE_LENGTH๋กœ ํ•ด์ฃผ์„ธ์š”.ํ‰๊ท  ๊ธธ์ด๋Š” ์†Œ์ˆ˜์  3์งธ์ž๋ฆฌ์—์„œ ๋ฐ˜์˜ฌ๋ฆผํ•˜๋ฉฐ, 10cm ์ดํ•˜์˜ ๋ฌผ๊ณ ๊ธฐ๋“ค์€ 10cm ๋กœ ์ทจ๊ธ‰ํ•˜์—ฌ ํ‰๊ท  ๊ธธ์ด๋ฅผ ๊ตฌํ•ด์ฃผ์„ธ์š”. ํ’€์ดselect round(avg(len), 2) as AVERAGE_LENGTHfrom ( select case when LEN..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][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] ํ•œ ํ•ด์— ์žก์€ ๋ฌผ๊ณ ๊ธฐ ์ˆ˜ ๊ตฌํ•˜๊ธฐ

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(..

๋ฐ˜์‘ํ˜•