SQL 공부 | 상관서브쿼리

2024. 12. 2. 20:16·SQL

 

 

📖 상관서브쿼리란?

  • 서브쿼리가 그냥 하나의 테이블, 칼럼, 값을 의미하는 게 아니라 외부에서 한 행씩 보내서 두번째 행이 또 서브쿼리로 보내져서 두번재 행이 동작하고 이 사이클을 계속 도는 것.
  • 그래서 외부 쿼리가 상관이 있는 서브쿼리라는 의미로 상관쿼리라고 부름

 

📖 상관서브쿼리 예시

 

customers 테이블

customer_id  customer_name  registration_date
101 Alice 2023-01-01
102 Bob 2023-02-01
103 Charlie 2023-03-01
104 David 2023-04-01

 

-- 상관 서브쿼리의 예
SELECT customer_id, 
       (SELECT COUNT(*) 
        FROM orders 
        WHERE orders.customer_id = customers.customer_id) AS order_count
FROM customers;

-- 상관 서브쿼리의 예: JOIN으로 변환
SELECT c.customer_id, COUNT(o.order_id) AS order_count
FROM customers c
LEFT JOIN orders o
ON c.customer_id = o.customer_id
GROUP BY c.customer_id;

-- 상관 서브쿼리의 예: 윈도우 함수로 변환!
SELECT customer_id, COUNT(order_id) OVER(PARTITION BY customer_id) AS order_count
FROM orders;

 

📖 상관서브쿼리 실행 결과

customer_id  order_count
101 2
102 2
103 1
104 0

 

 

 


오늘 회고

내일부터 본격 이커머스 고객 행동 데이터 분석하는 미니 프로젝트 들어간다 신난다

'SQL' 카테고리의 다른 글
  • SQL 실습 | 배송 지연 고객 분석
  • SQL 공부 | 연산자 종류
  • SQL 공부 | 피봇테이블 만들기, 윈도우함수, RAND
  • SQL 공부 | JOIN 함수
초담
초담
4년차 마케터입니다
  • 초담
    그로스마케터의 기록
    초담
  • 전체
    오늘
    어제
  • 글쓰기 관리
    • 분류 전체보기 (117)
      • Data Analytics Project (3)
      • SQL (55)
      • Python (43)
      • GA4 (0)
      • Tableau (8)
      • 아티클 스터디 (7)
  • 인기 글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
초담
SQL 공부 | 상관서브쿼리
상단으로

티스토리툴바