๊ด€๋ฆฌ ๋ฉ”๋‰ด

Jerry

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/SQL ๊ณ ๋“์  Kit] ํ‰๊ท  ์ผ์ผ ๋Œ€์—ฌ ์š”๊ธˆ ๊ตฌํ•˜๊ธฐ ๋ณธ๋ฌธ

Problem Solving/SQL ๋ฌธ์ œ ํ’€๊ธฐ

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/SQL ๊ณ ๋“์  Kit] ํ‰๊ท  ์ผ์ผ ๋Œ€์—ฌ ์š”๊ธˆ ๊ตฌํ•˜๊ธฐ

juicyjerry 2023. 11. 1. 10:47
๋ฐ˜์‘ํ˜•

๐Ÿ’ช๋ฌธ์ œ
CAR_RENTAL_COMPANY_CAR ํ…Œ์ด๋ธ”์—์„œ ์ž๋™์ฐจ ์ข…๋ฅ˜๊ฐ€ 'SUV'์ธ ์ž๋™์ฐจ๋“ค์˜ ํ‰๊ท  ์ผ์ผ ๋Œ€์—ฌ ์š”๊ธˆ์„ ์ถœ๋ ฅํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด ์ฃผ์„ธ์š”. ์ด๋•Œ ํ‰๊ท  ์ผ์ผ ๋Œ€์—ฌ ์š”๊ธˆ์€ ์†Œ์ˆ˜ ์ฒซ ๋ฒˆ์งธ ์ž๋ฆฌ์—์„œ ๋ฐ˜์˜ฌ๋ฆผํ•˜๊ณ , ์นผ๋Ÿผ๋ช…์€ AVERAGE_FEE๋กœ ์ง€์ •ํ•ด ์ฃผ์„ธ์š”.

https://school.programmers.co.kr/learn/courses/30/lessons/151136

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr



 

 

๐Ÿ’ช ๋‚˜์˜ ์ •๋‹ต

SELECT ROUND(AVG(DAILY_FEE), 0) AS AVERAGE_FEE 
FROM CAR_RENTAL_COMPANY_CAR 
GROUP BY CAR_TYPE
HAVING CAR_TYPE = 'SUV';



 

 

๐Ÿ’ช ๋‹ค๋ฅธ ์ •๋‹ต

SELECT ROUND(AVG(DAILY_FEE), 0) AS AVERAGE_FEE 
FROM CAR_RENTAL_COMPANY_CAR 
WHERE CAR_TYPE = 'SUV';



 

 

๐Ÿ’ช ๋ฐฐ์šด ์ 

- GROUP BY์™€ HAVING์ ˆ์˜ ์‚ฌ์šฉ๋ฒ•์„ ์ตํž ์ˆ˜ ์žˆ์–ด์„œ ์ข‹์•˜๋‹ค.

- GROUP BY์™€ WHERE์˜ ์ฐจ์ด๋ฅผ ์•Œ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

> SQL์—์„œ 'WHERE'์ ˆ๊ณผ 'HAVING'์ ˆ์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๋กœ ๋ถ„๋ฅ˜์˜ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค. ํ•˜์ง€๋งŒ, ๋ช‡ ๊ฐ€์ง€ ๋‹ค๋ฅธ ๋ชฉ์ ์„ฑ์„ ๋„์šฐ๊ณ  ์žˆ๋‹ค. 

WHERE
- WHERE์ ˆ์€ ๊ทธ๋ฃนํ•‘ํ•˜๊ธฐ ์ „์— ํ…Œ์ด๋ธ” ์•ˆ์— ์žˆ๋Š” ๊ฐœ๋ณ„์  ๋กœ์šฐ(row) ๋˜๋Š” ๋ ˆ์ฝ”๋“œ(record)๋ฅผ ์ž„์˜์˜ ์กฐ๊ฑด์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ๋ถ„๋ฅ˜(filter) ํ•œ ๊ฒฐ๊ณผ
- SELECT์ ˆ๊ณผ ๊ฒฐํ•ฉํ•˜์—ฌ ์‚ฌ์šฉ

HAVING
- HAVING์ ˆ์€ ์ง‘๊ณ„ํ•จ์ˆ˜(SUM, COUNT, AVG)๋‚˜ GROUP BY์ ˆ์„ ์‚ฌ์šฉํ•œ ํ›„์— ๋ถ„๋ฅ˜(filter) ํ•œ ๊ฒฐ๊ณผ

 

- ์†Œ์ˆ˜์  ๋ฐ˜์˜ฌ๋ฆผ ๋ฐฉ๋ฒ•์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค.

ROUND('์ˆ˜์น˜๊ฐ’', '๋ฐ˜์˜ฌ๋ฆผ ์ž๋ฆฟ์ˆ˜')

 

 

 

 

๐Ÿ’ช ๋งˆ์น˜๋ฉด์„œ

๋‹ค์Œ์—๋Š” ๋‹ค๋ฅธ ๋ฌธ์ œ๋กœ ์ฐพ์•„๋ต™๊ฒ ์Šต๋‹ˆ๋‹ค!

์•ˆ๋…• :))

 

 

 

 

๋ฐ˜์‘ํ˜•