[내일배움캠프 사전캠프] + SQL

김효진·2025년 4월 28일

@@subquery

select column1, special_column
from
( / subquery /
select column1, column2 special_column
from table1
) a

@@join

-- LEFT JOIN
select 조회 할 컬럼
from 테이블1 a left join 테이블2 b on a.공통컬럼명=b.공통컬럼명

-- INNER JOIN
select 조회 할 컬럼
from 테이블1 a inner join 테이블2 b on a.공통컬럼명=b.공통컬럼명

@@대체값

  • 사용할 수 없는 값 대신 다른 값을 대체해서 사용하는 방법이 있습니다.
  • 데이터 분석 시에는 평균값 혹은 중앙값 등 대표값을 이용하여 대체해주기도 합니다.
  • 다른 값으로 변경하고 싶을 때, 다음 두 개의 문법을 이용할 수 있습니다.
    • 다른 값이 있을 때 조건문 이용하기 : if(rating>=1, rating, 대체값)
    • null 값일 때 : coalesce(age, 대체값)

@@pivot view

ex)
select restaurant_name,
max(if(hh='15', cnt_order, 0)) "15",
max(if(hh='16', cnt_order, 0)) "16",
max(if(hh='17', cnt_order, 0)) "17",
max(if(hh='18', cnt_order, 0)) "18",
max(if(hh='19', cnt_order, 0)) "19",
max(if(hh='20', cnt_order, 0)) "20"
from
(
select a.restaurant_name,
substring(b.time, 1, 2) hh,
count(1) cnt_order
from food_orders a inner join payments b on a.order_id=b.order_id
where substring(b.time, 1, 2) between 15 and 20
group by 1, 2
) a
group by 1
order by 7 desc

profile
초보자

0개의 댓글