엑셀보다 쉽고 빠른 SQL 3주차
미리 해당 문법을 알아두는 거슨 중요하지만 구글링이 중요하다
sql 스타일마다 조금씩 문법이 달라서 잘 되는지 확인하는 작업이 중요하다.
긴 조건이라도 차분하게 생각해보고 사용하는 방법이 중요하다.
정답과는 다르게 작성했다. 이것저것 고민해보는 자세가 중요하다고 생각한다.
select order_id,
restaurant_name,
day_of_the_week,
delivery_time,
case when day_of_the_week='Weekday' and delivery_time>=25 then 'Late'
when day_of_the_week='Weekend' and delivery_time>=30 then 'Late'
else 'On-time' end "지연여부"
from food_orders
--숫자로 변경
cast(if(rating='Not given', '1', rating) as decimal)
--문자로 변경
concat(restaurant_name, '-', cast(order_id as char))
엑셀보다 쉽고 빠른 SQL 4주차
1) 서브쿼리
안쪽 괄호에 있는 쿼리부터 천천히 읽는 법을 알려주셔서 좋았다.
2) 조인
엑셀의 vlookup과 집합 그림으로 설명을 해주신 점이 신선했다.
3) 주의사항
, 하나라도 잘 봐야 하고, 에러가 나도 당황하지 않고 원인을 찬찬히 읽으면서 발견하는 습관을 들여야 한다.
4) 강의 숙제
식당별 평균 음식 주문 금액과 주문자의 평균 연령을 기반으로 Segmentation 하기
- 평균 음식 주문 금액 기준 : 5,000 / 10,000 / 20,000 / 30,000 초과
- 평균 연령 : ~ 20대 / 30대 / 40대 / 50대 이상
- 두 테이블 모두에 데이터가 있는 경우만 조회, 식당 이름 순으로 오름차순 정렬
식당별 평균 음식 주문 금액과 주문자의 평균 연령을 기반으로 Segmentation 하기
- 평균 음식 주문 금액 기준 : 5,000 이하 / ~10,000 / ~30,000 / 30,000 초과
- 평균 연령 : ~ 20대 / 30대 / 40대 / 50대 이상
=> 이상한 점 : 문제와 정답의 Segmentation 기준이 다르다는 것이다.
심지어 정답 쿼리를 실행한 결과가 결과물 예시 사진과 다르다는 것이다.
그래도 서브쿼리와 조인을 활용해서 스스로 잘 작성했음에 만족하겠다.
select restaurant_name,
avg_price, avg_age,
case when avg_price <= 5000 then 'price_group1'
when avg_price > 5000 and avg_price <= 10000 then 'price_group2'
when avg_price > 10000 and avg_price <= 20000 then 'price_group3'
when avg_price > 20000 and avg_price <= 30000 then 'price_group4'
when avg_price > 30000 then 'price_group5'
end price_group,
case when avg_age <= 29 then 'age_group1'
when avg_age between 30 and 39 then 'age_group2'
when avg_age between 40 and 49 then 'age_group3'
when avg_age >= 50 then 'age_group4'
end price_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
order by 1
;
'CODING > 스파르타 내일배움캠프 TIL' 카테고리의 다른 글
[스파르타 내일배움캠프 Spring 5기] TIL (2024.12.11) (2) | 2024.12.11 |
---|---|
스파르타 내일배움캠프 Spring 5기 TIL (2024.12.10) (2) | 2024.12.10 |
스파르타 내일배움캠프 Spring 5기 스타터 노트(2024.12.09) (1) | 2024.12.09 |