SQL

SQL

서브쿼리는 SELECT 말고 FROM에도 쓸 수 있다

페이지 정보

profile_image
영삼이
0건 57회 25-03-28 15:22

본문

✅ 서브쿼리는 SELECT 말고 FROM에도 쓸 수 있다

가공된 결과를 테이블처럼 활용하라


✅ 기본적인 서브쿼리 (SELECT 안에)

SELECT name, (
  SELECT COUNT(*) FROM orders WHERE user_id = users.id
) AS order_count
FROM users;
  • 사용자마다 주문 수를 구할 수 있음

  • 하지만 사용자 수 × 주문 수 만큼 반복 실행돼서 비효율적


✅ FROM 절에 서브쿼리 사용 (인라인 뷰)

SELECT u.name, o.order_count
FROM users u
JOIN (
  SELECT user_id, COUNT(*) AS order_count
  FROM orders
  GROUP BY user_id
) o ON u.id = o.user_id;
  • orders 테이블을 먼저 가공해서 임시 테이블처럼 사용

  • 조인으로 매칭만 하면 되니 훨씬 빠름


실전 활용 예

  • 집계된 데이터를 조인할 때

  • 랭킹, 순위, 요약 통계를 연결할 때

  • GROUP BY나 JOIN 전에 먼저 정제할 때


✔️ 서브쿼리는 SELECT 안에만 쓰는 게 아니다.
FROM 안에 쓰면 성능과 가독성을 모두 잡을 수 있다.
복잡한 쿼리는 작게 나눠서 조합하라.

댓글목록

등록된 댓글이 없습니다.