์ค๋ ์ต์ข ํฉ๋ฅ ๋ฌธ์๊ฐ ์์ ๋ณธ๊ฒฉ์ ์ผ๋ก ์ฌ์ ์บ ํ ๊ฐ์๋ฅผ ๋ฃ๊ธฐ ์์ํ๋ค. ํ๋ก์ ํธ ๊ฒฝํ์ ์์ง๋ง, ํ์ด์ฌ์ ์กฐ๊ธ ํ ์ค ์์ SQL ๋ฌธ๋ฒ์ ์ดํดํ๋ ๋ฐ ํฐ ์ด๋ ค์์ ์์๋ค. ๋ฌผ๋ก ์์ง ์ด๋ ค์ด ๋ด์ฉ๊น์ง ์ ๋ฐฐ์์ ์ด๋ ๊ฒ ๋๋ผ๋ ๊ฒ์ผ ์๋ ์๋ค. ๐
ํ๊ณ ๋ฅผ ์ด๋ค ๋ฐฉ์์ผ๋ก ์์ฑํ ์ง ๊ณ ๋ฏผํ๋ค๊ฐ, ์๋ ์ ์ผ๋ 4Ls(Liked, Lacked, Learned, Longed for)๋ก ํด๋ณด๋ ค๊ณ ํ๋ค.
Liked
- ์ฝ๋์นดํ ํด ๋ดค๋๋ฐ ์ ๋ฒ ์ฌ๋ฏธ์๋ค.
- ๊ฐ์๋ ์์ง์ ๊ธฐ์ด ์์ค์ด๋ผ ์ฝ๋ค. ์ค์ต ๋ฌธ์ ํ๋ฑ ํ๊ณ ๋์ด๊ฐ๊ณ ์๋ค.
Lacked
- ํ์ด ํธ์ฑ๋๋๋ฐ, ๋ง์ ZEP์ ๋ค์ด์ค๋ ์ฌ๋์ ๋ณ๋ก ์๋ค. ์๋ง ์ฌ์ ์บ ํ๋ผ์ ๊ทธ๋ฐ ๊ฒ ๊ฐ๋ค.
- ๋์ผ ๋ชจ๋ํฐ๋ฅผ ์ฌ์ฉํ๊ณ ์๋๋ฐ, ํ์ํ ํญ์ ๋ค ์ผ ๋๊ณ ๊ฐ์๋ฅผ ๋ฃ๋ค ๋ณด๋ ์ข ์ ์ ์ด ์๋ค. ์ต์ํด์ ธ์ผ ํ ๊ฒ ๊ฐ๋ค.
Learned
1. ํ๊ฒฝ ์ธํ
์๋ ์์ฑ๋๋๋ก ์ํฐ๋ ํญ์ ๋๋ฅด๋ฉด ๋ค์ aliases๊ฐ ์๋์ผ๋ก ๋ถ๋ ๊ฒ ์ง์ฆ๋ฌ๋๋ฐ, ์ด์ฐ์ ์ฐ ์ค์ ํด์ ํ๋ค. ๊ทธ๋ฐ ๊น์ ๋คํฌ ๋ชจ๋๋ก ๋ฐ๊พธ๊ณ ์์ฒด๋ D2Coding์ผ๋ก ๋ฐ๊ฟจ๋ค. ๋์ด ํธ-์.
2. SQL ๊ธฐ๋ณธ ๊ตฌ์กฐ
SELECT column_name as "์ด ์ด๋ฆ"
FROM table_name
WHERE ์กฐ๊ฑด
group by column_name_2
order by column_nam
์กฐ๊ฑด์๋ ๋น๊ต์ฐ์ฐ์, BETWEEN, IN, LIKE, ๋ ผ๋ฆฌ์ฐ์ฐ์ ๋ฑ์ ์ธ ์ ์๋ค.
3. ํ์ด์ ๋งํด๋ณด๊ธฐ
-- ํ๊ตญ ์์์ ์ฃผ๋ฌธ ๋น ํ๊ท ์์๊ฐ๊ฒฉ ๊ตฌํ๊ธฐ
SELECT avg(price) as average_price
FROM food_orders
WHERE cuisine_type='Korean'
2ํ : food_orders ํ
์ด๋ธ์์
1ํ : price ์ปฌ๋ผ์ ํ๊ท ์ ๋ฝ์ average_price๋ผ๋ ์ด๋ฆ์ ๋ถ์ธ๋ค
3ํ : ๋จ, cuisine_type์ด Korean์ธ ๊ฒ๋ง ๋ฝ๋๋ค.
-- ์ฃผ๋ฌธ๊ฑด์ ๋ฐ ์ฃผ๋ฌธํ ๊ณ ๊ฐ ์ ๊ตฌํ๊ธฐ
select count(1) count_of_orders,
count(distinct customer_id) count_of_customers
from food_orders
3ํ : food_orders ํ
์ด๋ธ์์
1ํ : count_of_orders ์ปฌ๋ผ์ ๋ฐ์ดํฐ ๊ฐ์๋ฅผ ๋ฝ๋๋ค.
2ํ : ๋ํ, customer_id ์ปฌ๋ผ์ ์ค๋ณต๊ฐ์ ์ ๊ฑฐํ ๋ฐ์ดํฐ ๊ฐ์๋ฅผ ๋ฝ์ count_of_customers๋ผ๊ณ ์ด๋ฆ์ ๋ถ์ธ๋ค.
-- ์์์ ๋ณ ์ฃผ๋ฌธ ๊ธ์ก ์ต๋๊ฐ ์กฐํํ๊ธฐ - ์ต๋๊ฐ ๊ธฐ์ค์ผ๋ก ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ
select restaurant_name,
max(price) "์ต๋ ์ฃผ๋ฌธ๊ธ์ก"
from food_orders
group by restaurant_name
order by max(price) desc
2ํ : food_orders ํ
์ด๋ธ์์
3ํ : restaurant_name ์ปฌ๋ผ์ผ๋ก grouping ํ๊ณ
1ํ : restaurant_name์ ๋ฝ๋๋ค. ๋ํ, price ์ปฌ๋ผ์ ์ต๋๊ฐ์ ์ต๋ ์ฃผ๋ฌธ๊ธ์ก์ด๋ผ๊ณ ์ด๋ฆ ๋ถ์ด๊ณ ๋ฝ์๋ธ๋ค.
4ํ : ์ต๋ ์ฃผ๋ฌธ๊ธ์ก์ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ค.
Longed for
- ๋ณธ ์บ ํ๊ฐ ์์๋๋ฉด ๊ต๋ฅํ๋ฉด์ ์๋์ง๋ฅผ ์ป์ ์ ์๋ ์ฌ๋์ ๋ง์ด ๋ง๋๊ณ ์ถ๋ค.
'๐ฅ ๋ด์ผ๋ฐฐ์์บ ํ DA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
231218 MON ๋ฏธ๋ ํ๋ก์ ํธ ์์ (0) | 2023.12.18 |
---|---|
2312-2 WIL (1) | 2023.12.17 |
231215 FRI ๋ฐ์ดํฐ ๋ถ์์ ํ๋ฆ, ํ์ด์ฌ ๊ธฐ์ด (1) | 2023.12.17 |
231214 THU ์๋ธ์ฟผ๋ฆฌ, JOIN, ํผ๋ดํ ์ด๋ธ, ์๋์ฐ ํจ์, ๋ ์ง ํฌ๋งท (1) | 2023.12.17 |
231213 WED SQL๋ก ๊ฐ๊ณตํ๊ธฐ, ์กฐ๊ฑด๋ฌธ (1) | 2023.12.17 |