SQLD 기출문제 예상문제 44번
다음 문제를 풀어보세요.
다음 중 아래 SQL 쿼리의 성능을 최적화하기 위한 가장 적절한 방법을 고르시오.
-- 주문(ORDERS) 테이블과 고객(CUSTOMERS) 테이블을 조인하여
-- 특정 기간 동안의 주문 건수와 총 주문 금액을 고객별로 집계하는 쿼리
SELECT
C.CUSTOMER_ID,
C.CUSTOMER_NAME,
COUNT(O.ORDER_ID) AS ORDER_COUNT,
SUM(O.ORDER_AMOUNT) AS TOTAL_AMOUNT
FROM
ORDERS O
JOIN
CUSTOMERS C ON O.CUSTOMER_ID = C.CUSTOMER_ID
WHERE
O.ORDER_DATE BETWEEN '2023-01-01' AND '2023-12-31'
GROUP BY
C.CUSTOMER_ID, C.CUSTOMER_NAME
ORDER BY
TOTAL_AMOUNT DESC;
[테이블 구조]
-- ORDERS 테이블
CREATE TABLE ORDERS (
ORDER_ID INT PRIMARY KEY,
CUSTOMER_ID INT,
ORDER_DATE DATE,
ORDER_AMOUNT DECIMAL(10, 2),
-- 기타 컬럼
FOREIGN KEY (CUSTOMER_ID) REFERENCES CUSTOMERS(CUSTOMER_ID)
);
-- CUSTOMERS 테이블
CREATE TABLE CUSTOMERS (
CUSTOMER_ID INT PRIMARY KEY,
CUSTOMER_NAME VARCHAR(255),
-- 기타 컬럼
);