데이터분석/SQL

[금융권 SQL 실무] with 절

방랑청년 2023. 4. 25.
반응형

[금융권 SQL 실무] 1.with 절

 

 With절 이란?

 

SQL의 With 절은 하나 이상의 일시적인 뷰를 정의하고, 이러한 뷰를 재사용하여 복잡한 쿼리를 간결하게 작성할 수 있도록 도와주는 기능. 이를 통해 쿼리의 가독성과 유지 보수성을 향상시킬 수 있음

With절 쿼리 예시 (1)


With my_view AS (
  SELECT column1, column2, ...
  FROM my_table
  WHERE condition
)
SELECT column1, COUNT(*)
FROM my_view
GROUP BY column1;



위의 예시에서, WITH 절은 my_view라는 임시 뷰를 정의. 이 뷰는 my_table에서 조건에 맞는 행을 선택하고, column1과 column2 열을 선택하고 이 뷰를 사용하여 COUNT(*) 함수를 사용하여 column1별 행의 개수를 계산하는 집계 쿼리를 작성해야 함



With절 쿼리 예시 (2)


WITH sales AS (
  SELECT product, SUM(quantity) AS total_quantity
  FROM orders
  GROUP BY product
)
SELECT product, total_quantity, total_quantity * price AS revenue
FROM sales
JOIN prices ON sales.product = prices.product;




위의 예시에서, With 절은 sales라는 임시 뷰를 정의. 이 뷰는 orders 테이블에서 제품별 주문 수량을 계산하고, 이를 합산하여 total_quantity라는 열로 반환. 이후, 이 뷰를 사용하여 prices 테이블과 조인하고, 제품별 매출(revenue)을 계산

이와 같이 With 절을 사용하면, 쿼리를 단순화하고 가독성을 높일 수 있음. 또한, With 절을 사용하면 중복되는 부분을 제거하여 유지 보수성을 높일 수 있음

 

[SQL 쿼리] with 절 설명 및 예시

 

 With절과 Subquery의 차이점

 

With 절과 서브쿼리(Subquery)는 SQL에서 데이터를 추출하는 데 사용되는 두 가지 방법. 그러나 둘 사이에는 몇 가지 차이점이 있음

서브쿼리는 하나의 SQL 문 안에서 다른 SQL 문을 내장. 서브쿼리는 일반적으로 SELECT, UPDATE, INSERT 또는 DELETE 문 안에서 사용하며 일반적으로 다른 테이블과 조인하거나 WHERE 절 또는 HAVING 절에 사용

With 절은 일시적인 뷰를 정의하여 재사용 가능한 쿼리를 작성하는 데 사용하며 SELECT 문에서 사용. WITH 절은 SQL 문에서 일시적인 뷰를 정의하는 것이며, 이 뷰는 기존의 테이블을 기반으로 함. 이를 통해 복잡한 쿼리를 간단하게 작성할 수 있으며, 가독성과 유지 보수성을 향상시킬 수 있음

다른 차이점으로는 With 절에서 정의한 뷰는 해당 쿼리에서만 사용되며, 다른 쿼리에서는 사용할 수 없음. 반면, 서브쿼리는 하나의 SQL 문에서 사용될 수 있지만 다른 SQL 문에서도 사용할 수 있음

또한 With 절은 쿼리의 중복 코드를 줄일 수 있으며, 쿼리의 가독성과 유지 보수성을 향상시킬 수 있음. 반면, 서브쿼리는 단일 쿼리 내에서 조인이나 WHERE 절의 복잡도를 줄일 수 있음

결론적으로, With 절과 서브쿼리는 모두 SQL에서 데이터를 추출하는 데 사용. 그러나 With 절은 일시적인 뷰를 정의하여 복잡한 쿼리를 작성하는 데 사용되며, 서브쿼리는 다른 SQL 문에서도 사용될 수 있고, 조인 또는 WHERE 절의 복잡도를 줄일 수 있음

반응형

댓글

💲 추천 글