[TIL] SQL 3일차

Jeong Min·2025년 4월 28일

SQL로 그룹 나누기

select case when age between 10 and 19
and gender='male' then '10대 남성'
when age between 10 and 19
and gender='female' then '10대 여성'
when age between 20 and 29
and gender='male' then '20대 남성'
when age between 20 and 29
and gender='female' then '20대 여성' = 나이, 성별 별로 구분
end "고객 분류", = 이름 지어주기
name,
age,
gender =고객 이름, 나이, 성별 표시
from customers
where age between 10 and 29

조건에 따라 다른 연산식 적용하는 법
select case when day_of_the_week='weekday' then 3000if(quantity>3, 1.2, 1)
when day_of_the_week='weekend' then 3500
if(quantity>3, 1.2, 1)
end "배달 할증료",
restaurant_name,
order_id,
day_of_the_week,
quantity
from food_orders

select case when ~ = 새롭게 만드는 것.

여러 번의 연산을 한 번에 수행하기 (서브쿼리 활용)
서브쿼리가 필요한 경우
1. 여러번의 연산을 수행해야 할 때
2. 조건문에 연산 결과를 사용할 때
3. 조건에 쿼리 결과를 사용하고 싶을 때

서브쿼리문 기본 구조 및 예시
select order_id, restaurant_name, if(over_time>=0, over_time, 0) over_time = 서브쿼리문으로 미리 계산한 걸 토대로 결과 도출
from
(
select order_id, restaurant_name, food_preparation_time-25 over_time = 준비시간 - 25를 오버 타임으로 명명
from food_orders
) a

서브쿼리문 계속 복습하기/기본 구문 복습

0개의 댓글