< 39๋ฒ - ์ฑ๋ถ์ผ๋ก ๊ตฌ๋ถํ ์์ด์คํฌ๋ฆผ ์ด ์ฃผ๋ฌธ๋ >
https://school.programmers.co.kr/learn/courses/30/lessons/131113
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
SELECT INGREDIENT_TYPE,
sum(TOTAL_ORDER) as TOTAL_ORDER
from FIRST_HALF f
inner join ICECREAM_INFO i
on f.flavor = i.flavor
group by INGREDIENT_TYPE
order by sum(TOTAL_ORDER)
< 40๋ฒ - ๋ฃจ์์ ์๋ผ ์ฐพ๊ธฐ >
https://school.programmers.co.kr/learn/courses/30/lessons/59046
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
SELECT animal_id,
name,
SEX_UPON_INTAKE
from ANIMAL_INS
where name in ('Lucy', 'Ella', 'Pickle', 'Rogan', 'Sabrina', 'Mitty')
order by animal_id
< 41๋ฒ - ์กฐ๊ฑด์ ๋ง๋ ๋์ ๋ฆฌ์คํธ ์ถ๋ ฅํ๊ธฐ >
https://school.programmers.co.kr/learn/courses/30/lessons/144853
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
SELECT BOOK_ID,
date_format(PUBLISHED_DATE, '%Y-%m-%d') as PUBLISHED_DATE
from book
where year(PUBLISHED_DATE) = 2021 and CATEGORY = '์ธ๋ฌธ'
order by PUBLISHED_DATE
< 42๋ฒ - ํ๊ท ์ผ์ผ ๋์ฌ ์๊ธ ๊ตฌํ๊ธฐ >
https://school.programmers.co.kr/learn/courses/30/lessons/151136
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
SELECT round(avg(daily_fee)) as average_fee
from CAR_RENTAL_COMPANY_CAR
where car_type = 'SUV'
< 43๋ฒ - ์กฐ๊ฑด์ ๋ง๋ ์ฌ์ฉ์์ ์ด ๊ฑฐ๋๊ธ์ก >
https://school.programmers.co.kr/learn/courses/30/lessons/164668
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
SELECT u.user_id,
u.nickname,
sum(PRICE) as total_sales
from USED_GOODS_BOARD b
inner join USED_GOODS_USER u
on b.WRITER_ID = u.USER_ID
where b.STATUS = 'DONE'
group by u.user_id
having sum(PRICE) >= 700000
order by sum(PRICE)
โ < 44๋ฒ - ๊ฐ๊ฒฉ๋ ๋ณ ์ํ ๊ฐ์ ๊ตฌํ๊ธฐ >
https://school.programmers.co.kr/learn/courses/30/lessons/131530
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
SELECT truncate(price, -4),
count(*) as products
from PRODUCT
group by truncate(price, -4)
order by truncate(price, -4)
< round ํจ์ >
SELECT round(1992.8682, 1)
์์ ์ฒซ๋ฒ์งธ ์๋ฆฌ๊น์ง

SELECT round(19235.59)
์ ์์๋ฆฌ๊น์ง

SELECT round(1951241, -2)
์ ์์๋ฆฌ๋ถํฐ -1, -2 ์ด๋ฐ์์ผ๋ก ๊ฐ๋ค

< ๋ฐ์ฌ๋ฆผ ์๋ฆฟ์๋ ํ๋์ ๊ธ์จ์ด๋ค >

round์ผ ๊ฒฝ์ฐ ํด๋น ์๋ฆฟ์๊น์ง ๋ํ๋ด๊ธฐ ์ํด ์ ์๋ฆฌ์์์ ๋ฐ์ฌ๋ฆผ
truncate์ผ ๊ฒฝ์ฐ ํด๋น ์๋ฆฌ์๊น์ง ๋ํ๋ด๊ธฐ ์ํด ์ ์๋ฆฌ์ ๋ฒ๋ฆฌ๊ธฐ
< 45๋ฒ - 3์์ ํ์ด๋ ์ฌ์ฑ ํ์ ๋ชฉ๋ก ์ถ๋ ฅํ๊ธฐ >
https://school.programmers.co.kr/learn/courses/30/lessons/131120
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
SELECT MEMBER_ID ,
MEMBER_NAME ,
GENDER ,
date_format(DATE_OF_BIRTH, '%Y-%m-%d') as DATE_OF_BIRTH
from MEMBER_PROFILE
where month(DATE_OF_BIRTH) = 3 and gender = 'W' and tlno is not null
< 46๋ฒ - ๋์ฌ ๊ธฐ๋ก์ด ์กด์ฌํ๋ ์๋์ฐจ ๋ฆฌ์คํธ ๊ตฌํ๊ธฐ >
https://school.programmers.co.kr/learn/courses/30/lessons/157341
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
with cte as (
select CAR_ID, CAR_TYPE
from CAR_RENTAL_COMPANY_CAR
)
select distinct h.car_id
from CAR_RENTAL_COMPANY_RENTAL_HISTORY h
inner join cte
on h.CAR_ID = cte.CAR_ID
where CAR_TYPE = '์ธ๋จ' and month(START_DATE) = 10
order by h.car_id desc
< 47๋ฒ - ๋ชจ๋ ๋ ์ฝ๋ ์กฐํํ๊ธฐ >
https://school.programmers.co.kr/learn/courses/30/lessons/59034
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
SELECT *
from ANIMAL_INS
order by animal_id
โ < 48๋ฒ - ์ฆ๊ฒจ์ฐพ๊ธฐ๊ฐ ๊ฐ์ฅ ๋ง์ ์๋น ์ถ๋ ฅํ๊ธฐ >
https://school.programmers.co.kr/learn/courses/30/lessons/131123
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
โ๏ธ๋ฌธ์ ์ ํต์ฌ
์๋ธ์ฟผ๋ฆฌ๋ก ์ ๋ณด ์ฐพ๊ธฐ
where (์ปฌ๋ผ1, ์ปฌ๋ผ2) in ( ์๋ธ์ฟผ๋ฆฌ )
๋๋ inner join / ์๋์ฐ ํจ์๋ฅผ ์ฌ์ฉํด์๋ ํ ์ ์๋ค!
< ์๋ธ์ฟผ๋ฆฌ๋ก ํ๊ธฐ >
SELECT FOOD_TYPE,
rest_id,
rest_name,
favorites
from REST_INFO
where (food_type, favorites) in (
select food_type,
max(favorites)
from REST_INFO
group by food_type
)
order by food_type desc
< ์กฐ์ธ์ผ๋ก ํ๊ธฐ >
select r1.food_type,
r1.rest_id,
r1.rest_name,
r1.favorites
from REST_INFO r1
inner join (
select food_type,
max(favorites) as max_favorites
from REST_INFO
group by food_type
) as r2
on r1.food_type = r2.food_type
and r1.favorites = r2.max_favorites
order by r1.food_type desc
< ์๋์ฐ ํจ์ ํ๊ธฐ >
with cte as (
select *,
row_number() over (partition by food_type order by favorites desc) as fav_num
from REST_INFO
)
select FOOD_TYPE,
REST_ID,
REST_NAME,
FAVORITES
from cte
where fav_num = 1
order by FOOD_TYPE desc