TIL

사전캠프 9일차

ds3hfj 2024. 10. 31. 14:34

SELECT restaurant_name,

avg_price,

case when (avg_price<=5000) then 'price_group1'

when (avg_price<=10000 and avg_price>5000) then 'price_group2'

when (avg_price>10000 and avg_price<=30000) then 'price_group3'

else 'price_group4' end price_group,

case when avg_age<30 then 'age_group1'

when (avg_age>=30 and avg_age<40) then 'age_group2'

when (avg_age>40 and avg_age<50) THEN 'age_group3'

else 'age_group4' end age_group

FROM

(select f.restaurant_name,

avg(f.price) avg_price,

avg(c.age) avg_age

from food_orders f inner join customers c on f.customer_id =c.customer_id

group by 1)a

group by 1

order by 1

select a.order_id,

a.customer_id,

a.restaurant_name,

a.price,

b.name,

b.age,

coalesce(b.age,20) "null 제거"

b.gender

from food_orders a left join customers b on a.customer_id =b.customer_id

where b.age is null

coalesce(,) null을 대체할때 사용,

join ~ on 두개?의 테이블에서 공통된 컬럼을 기준으로 새로운 테이블을 만들 경우 사용

pivat if문으로 여러개의 컬럼으로 나눠서 표현하는 것 - if문 앞에 max를 붙인다 why ? 개인적인 의견으로는 위에서부터 차례대로 if문이 입력되는데 맨 마지막?까지 다 입력되고 나서 표현되는 숫자만 맞으므로 그런듯?

 

'TIL' 카테고리의 다른 글

사전캠프 11일차  (4) 2024.11.04
사전캠프 10일차  (0) 2024.11.01
사전캠프 8일차 왜 틀렸을까  (1) 2024.10.30
사전캠프 7일차(화요일)  (1) 2024.10.29
사전캠프 6일차  (0) 2024.10.28