Growth ๐ŸŒณ/Practice ๐Ÿ’ป

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ž๋™์ฐจ ์ข…๋ฅ˜๋ณ„ ํŠน์ • ์˜ต์…˜์ด ํฌํ•จ๋œ ์ž๋™์ฐจ ์ˆ˜ ๊ตฌํ•˜๊ธฐ

์ธ” 2023. 1. 15. 21:44

๐Ÿ“ข ๋ณธ ํฌ์ŠคํŒ…์— ํ™œ์šฉ๋˜๋Š” ๊ธฐ๋ณธ ๋ฌธ์ œ ๋ฐ ์ž๋ฃŒ ์ถœ์ฒ˜๋Š”

       ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต,   
       https://school.programmers.co.kr/learn/challenges?page=1&languages=mysql%2Coracle
์ž„์„ ๋ฐํž™๋‹ˆ๋‹ค.


โ–  ๋ฌธ์ œ

๋ฌธ์ œ ์„ค๋ช…

๋‹ค์Œ์€ ์–ด๋Š ์ž๋™์ฐจ ๋Œ€์—ฌ ํšŒ์‚ฌ์—์„œ ๋Œ€์—ฌ์ค‘์ธ ์ž๋™์ฐจ๋“ค์˜ ์ •๋ณด๋ฅผ ๋‹ด์€ CAR_RENTAL_COMPANY_CAR ํ…Œ์ด๋ธ”์ž…๋‹ˆ๋‹ค.  CAR_RENTAL_COMPANY_CAR ํ…Œ์ด๋ธ”์€ ์•„๋ž˜์™€ ๊ฐ™์€ ๊ตฌ์กฐ๋กœ ๋˜์–ด์žˆ์œผ๋ฉฐ, CAR_ID, CAR_TYPE, DAILY_FEE, OPTI ONS ๋Š” ๊ฐ๊ฐ ์ž๋™์ฐจ ID, ์ž๋™์ฐจ ์ข…๋ฅ˜, ์ผ์ผ ๋Œ€์—ฌ ์š”๊ธˆ(์›), ์ž๋™์ฐจ ์˜ต์…˜ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

 

Column name Type Nullable
CAR_ID INTEGER FALSE
CAR_TYPE VARCHAR(255) FALSE
DAILY_FEE INTEGER FALSE
OPTIONS VARCHAR(255) FALSE

์ž๋™์ฐจ ์ข…๋ฅ˜๋Š” '์„ธ๋‹จ', 'SUV', '์Šนํ•ฉ์ฐจ', 'ํŠธ๋Ÿญ', '๋ฆฌ๋ฌด์ง„' ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ž๋™์ฐจ ์˜ต์…˜ ๋ฆฌ์ŠคํŠธ๋Š” ์ฝค๋งˆ(',')๋กœ ๊ตฌ๋ถ„๋œ ํ‚ค์›Œ๋“œ ๋ฆฌ์ŠคํŠธ(์˜ต์…˜ ๋ฆฌ์ŠคํŠธ ๊ฐ’ ์˜ˆ์‹œ: '์—ด์„ ์‹œํŠธ', '์Šค๋งˆํŠธํ‚ค', '์ฃผ์ฐจ๊ฐ์ง€์„ผ์„œ')๋กœ ๋˜์–ด์žˆ์œผ๋ฉฐ, ํ‚ค์›Œ๋“œ ์ข…๋ฅ˜๋Š” '์ฃผ์ฐจ๊ฐ์ง€์„ผ์„œ', '์Šค๋งˆํŠธํ‚ค', '๋„ค๋น„๊ฒŒ์ด์…˜', 'ํ†ตํ’์‹œํŠธ', '์—ด์„ ์‹œํŠธ', 'ํ›„๋ฐฉ์นด๋ฉ”๋ผ', '๊ฐ€์ฃฝ์‹œํŠธ' ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.


 

๋ฌธ์ œ

CAR_RENTAL_COMPANY_CAR ํ…Œ์ด๋ธ”์—์„œ 'ํ†ตํ’์‹œํŠธ', '์—ด์„ ์‹œํŠธ', '๊ฐ€์ฃฝ์‹œํŠธ' ์ค‘ ํ•˜๋‚˜ ์ด์ƒ์˜ ์˜ต์…˜์ด ํฌํ•จ๋œ ์ž๋™์ฐจ๊ฐ€ ์ž๋™์ฐจ ์ข…๋ฅ˜ ๋ณ„๋กœ ๋ช‡ ๋Œ€์ธ์ง€ ์ถœ๋ ฅํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ด๋•Œ ์ž๋™์ฐจ ์ˆ˜์— ๋Œ€ํ•œ ์ปฌ๋Ÿผ๋ช…์€ CARS๋กœ ์ง€์ •ํ•˜๊ณ , ๊ฒฐ๊ณผ๋Š” ์ž๋™์ฐจ ์ข…๋ฅ˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์„ธ์š”.


โ–  ํ’€์ด

  ๋ฌธ์ œ ์š”๊ตฌ์‚ฌํ•ญ  

'ํ†ตํ’์‹œํŠธ', '์—ด์„ ์‹œํŠธ', '๊ฐ€์ฃฝ์‹œํŠธ' ์ค‘ ํ•˜๋‚˜ ์ด์ƒ์˜ ์˜ต์…˜์ด ํฌํ•จ๋œ ์ž๋™์ฐจ๊ฐ€ ์ž๋™์ฐจ ์ข…๋ฅ˜ ๋ณ„๋กœ ๋ช‡ ๋Œ€์ธ์ง€ ์ถœ๋ ฅ
> WHERE ์กฐ๊ฑด : ํ•ด๋‹น ๋ฌธ์ž์—ด์„ ํฌํ•จํ•˜๋Š” ์กฐ๊ฑด ๋ถ€์—ฌ ๋‹จ ํ•˜๋‚˜ ์ด์ƒ์ด๋ผ๊ณ  ํ–ˆ์œผ๋ฏ€๋กœ 'OR' ์กฐ๊ฑด์œผ๋กœ

 

์ž๋™์ฐจ ์ˆ˜์— ๋Œ€ํ•œ ์ปฌ๋Ÿผ๋ช…์€ CARS๋กœ ์ง€์ •              > ์ง‘๊ณ„ ํ›„ ์ปฌ๋Ÿผ ๋ณ„์นญ ์‚ฌ์šฉ

๊ฒฐ๊ณผ๋Š” ์ž๋™์ฐจ ์ข…๋ฅ˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ    > ์ •๋ ฌ์กฐ๊ฑด

SELECT CAR_TYPE, COUNT(*) CARS
 FROM CAR_RENTAL_COMPANY_CAR
 WHERE OPTIONS LIKE '%ํ†ตํ’์‹œํŠธ%' OR OPTIONS LIKE '%์—ด์„ ์‹œํŠธ%' OR OPTIONS LIKE '%๊ฐ€์ฃฝ์‹œํŠธ%'
 GROUP BY 1
 ORDER BY 1;