20240701 SQL CODEKATA๐ป
41๋ฒ - ์กฐ๊ฑด์ ๋ง๋ ๋์ ๋ฆฌ์คํธ ์ถ๋ ฅํ๊ธฐ
BOOK ํ ์ด๋ธ์์ 2021๋ ์ ์ถํ๋ '์ธ๋ฌธ' ์นดํ ๊ณ ๋ฆฌ์ ์ํ๋ ๋์ ๋ฆฌ์คํธ๋ฅผ ์ฐพ์์ ๋์ ID(BOOK_ID), ์ถํ์ผ (PUBLISHED_DATE)์ ์ถ๋ ฅํ๋ SQL๋ฌธ์ ์์ฑํด์ฃผ์ธ์. ๊ฒฐ๊ณผ๋ ์ถํ์ผ์ ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌํด์ฃผ์ธ์.
select book_id,
substr(published_date, 1, 10) pusblished_date
from book
where published_date like '2021%' and category='์ธ๋ฌธ'
order by published_date
- ์กฐํ : book_id, published_date
- ์กฐ๊ฑด : 2021๋ ๋์ ์ถํ -- where publised_date like '2021%'
- ์ธ๋ฌธ ์นดํ ๊ณ ๋ฆฌ -- and category='์ธ๋ฌธ'
- ์์ : ์ถํ์ผ ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์์ด๊ธฐ ๋๋ฌธ์ order by ์ ์ฌ์ฉ
- substr์ ํ์ํ ๊ธ์ ์๋ฅผ ๊ฐ์ ธ์ค๋ ๊ฒ 1์ด ๊ธ์ ์์ํ๋ ์ฒซ๋ฒ์งธ 10์ ๋ง์ง๋ง ๊ธ์ ์
42๋ฒ - ํ๊ท ์ผ์ผ ๋์ฌ ์๊ธ ๊ตฌํ๊ธฐ
CAR_RENTAL_COMPANY_CAR ํ ์ด๋ธ์์ ์๋์ฐจ ์ข ๋ฅ๊ฐ 'SUV'์ธ ์๋์ฐจ๋ค์ ํ๊ท ์ผ์ผ ๋์ฌ ์๊ธ์ ์ถ๋ ฅํ๋ SQL๋ฌธ์ ์์ฑํด์ฃผ์ธ์. ์ด๋ ํ๊ท ์ผ์ผ ๋์ฌ ์๊ธ์ ์์ ์ฒซ ๋ฒ์งธ ์๋ฆฌ์์ ๋ฐ์ฌ๋ฆผํ๊ณ , ์ปฌ๋ผ๋ช ์ AVERAGE_FEE ๋ก ์ง์ ํด์ฃผ์ธ์.
select round(avg(daily_fee)) AVERAGE_FEE
from car_rental_company_car
where car_type='SUV'
- ์กฐํ: daily_fee
- ์กฐ๊ฑด : ์๋์ฐจ ์ข ๋ฅ๊ฐ 'SUV' -- where car_type = 'SUV'
- ์์ ์ฒซ ๋ฒ์งธ ์๋ฆฌ์์ ๋ฐ์ฌ๋ฆผ์ ํด์ผ ํ๊ธฐ ๋๋ฌธ์ round ํจ์๋ฅผ ์ด์ฉํ์ฌ ๋ฐ์ฌ๋ฆผ
- ๋ฌธ์ ์์ ์ปฌ๋ผ๋ช ์ ์ง์ ํด์คฌ๊ธฐ ๋๋ฌธ์ ๊ฐ์ด ์ปฌ๋ผ ์์ ์ง์
43๋ฒ - ์กฐ๊ฑด์ ๋ง๋ ์ฌ์ฉ์์ ์ด ๊ฑฐ๋๊ธ์ก ์กฐํํ๊ธฐ
USED_GOODS_BOARD์ USED_GOODS_USER ํ ์ด๋ธ์์ ์๋ฃ๋ ์ค๊ณ ๊ฑฐ๋์ ์ด๊ธ์ก์ด 70๋ง ์ ์ด์์ธ ์ฌ๋์ ํ์ ID, ๋๋ค์, ์ด๊ฑฐ๋๊ธ์ก์ ์กฐํํ๋ SQL๋ฌธ์ ์์ฑํด์ฃผ์ธ์. ๊ฒฐ๊ณผ๋ ์ด๊ฑฐ๋๊ธ์ก์ ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌํด์ฃผ์ธ์.
select b.user_id,
b.nickname,
sum(a.price) TOTAL_SALES
from used_goods_board a inner join used_goods_user b on a.writer_id=b.user_id
where status = 'DONE'
group by 1
having TOTAL_SALES >= 700000
order by 3
INNER JOIN์ ํตํ ๋ฌธ์ ํด๊ฒฐ
- ์กฐํ : user_id, nickname, price
- from, innr join, on์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ํฉ์ณ์ฃผ๊ณ ๋ณ์นญ ์ง์
- ์ค๊ณ ๊ฑฐ๋ ๊ฒ์ํ ์ ๋ณด๋ฅผ ๋ด์ userd_goods_board์ ์ค๊ณ ๊ฑฐ๋ ๊ฒ์ํ ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ๋ด์ used_goods_user๊ฐ ์๋ก ์์๋์ด ์๊ธฐ๋๋ฌธ์ inner join์ผ๋ก ๊ฒฐํฉ ๊ฐ๋ฅ
- ์กฐ๊ฑด : ๋ฌธ์ ์์ ์๋ฃ๋ ์ค๊ณ ๊ฑฐ๋ -- where status = 'DONE'
- user_id ๋ณ๋ก ๋ณด๊ธฐ ๋๋ฌธ์ group by 1
- having์ ํตํด ์ด๊ธ์ก 70๋ง์ ์ด์ -- having TOTAL_SALES >= 700000 ๋ก ์กฐ๊ฑดํ ํ ๋ฒ ๋ ํด์ค
- ์ด๊ฑฐ๋๊ธ์ก์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌ์ด๊ธฐ ๋๋ฌธ์ order by 3
'CODEKATA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
SQL CODEKATA 45๋ฒ (0) | 2024.07.03 |
---|---|
20240702 SQL CODEKATA 44๋ฒ (0) | 2024.07.02 |
20240628 SQL ์ฝ๋์นดํ 40๋ฒ (1) | 2024.06.30 |
20240617 ์ฝ๋์นดํ 38๋ฒ 39๋ฒ (0) | 2024.06.28 |
20240625/ SQL ์ฝ๋์นดํ 37๋ฒ (0) | 2024.06.25 |