느림보 개발

2. 오라클 - WITH구문(서브쿼리 정의) 본문

데이터베이스

2. 오라클 - WITH구문(서브쿼리 정의)

@르르 2023. 5. 14. 18:37

WITH서브쿼리를 정의하고 해당 서브쿼리를 사용하는 쿼리를 작성할 때 사용하는 구문입니다. 

WITH 구문을 사용하면 서브쿼리의 결과를 재사용하여 복잡한 쿼리를 간단하게 작성할 수 있습니다. 

쿼리의 가독성이 향상되고, 코드를 유지보수하기 쉬워집니다. 

Oracle 9i 버전부터 도입되었으며, Common Table Expression(CTE) 구문이라고도 합니다.

 

WITH CUSTOMER_SALSES AS (
	SELECT CUSTOMER_ID, SUM(AMOUNT) AS TOTAL_SALES
    FROM ORDERS
    GROUP BY CUSTOMER_ID
)
SELECT CUSTOMERS.NAME, CUSTOMER_SALES.TOTAL_SALES 
FROM CUSTOMERS
JOIN CUSTOMER_SALES 
ON CUSTOMERS.CUSTOMER_ID = CUSTOMER_SALES.CUSTOMER_ID;

CUSTOMER_SALES 라는 이름의 서브쿼리가 정의됩니다. 이 서브쿼리는 ORDERS테이블에서 각 고객의 총 구매액을 계산합니다. 이 서브쿼리를 정의한 후 , CUSTOMERS 테이블과 CUSTOMER_SALES 서브쿼리를 조인하여 각 고객의 이름과 총 구매액을 반환합니다. 

WITH 구문을 사용하여 중첩된 쿼리를 피하고, 쿼리의 가독성을 향상시킵니다. 

 

 

 

자료출처

챗GPT 

'데이터베이스' 카테고리의 다른 글

4. 오라클 - MERGE문(1)  (0) 2023.05.21
3. 오라클 - 레벨링(LEVEL)  (1) 2023.05.20
1. 오라클 - 테이블에 ROLE 부여  (0) 2023.05.14
0. 카테고리 소개  (0) 2023.05.14
Comments