SQLD 기출문제 예상문제 33번
다음 문제를 풀어보세요.
다음 중 아래 SQL 쿼리의 실행 계획을 분석한 내용으로 가장 적절하지 않은 것을 고르시오.
-- 고객 테이블과 주문 테이블 조인하여 고객별 총 주문 금액을 계산하는 쿼리
SELECT
C.CUSTOMER_ID,
C.CUSTOMER_NAME,
SUM(O.ORDER_AMOUNT) AS TOTAL_ORDER_AMOUNT
FROM
CUSTOMER C
JOIN
ORDERS O ON C.CUSTOMER_ID = O.CUSTOMER_ID
WHERE
C.CUSTOMER_GRADE = 'VIP'
GROUP BY
C.CUSTOMER_ID, C.CUSTOMER_NAME
HAVING
SUM(O.ORDER_AMOUNT) > 1000000
ORDER BY
TOTAL_ORDER_AMOUNT DESC;
-- CUSTOMER 테이블 구조
CREATE TABLE CUSTOMER (
CUSTOMER_ID VARCHAR2(10) PRIMARY KEY,
CUSTOMER_NAME VARCHAR2(50),
CUSTOMER_GRADE VARCHAR2(10),
CUSTOMER_ADDRESS VARCHAR2(100)
);
-- ORDERS 테이블 구조
CREATE TABLE ORDERS (
ORDER_ID VARCHAR2(10) PRIMARY KEY,
CUSTOMER_ID VARCHAR2(10),
ORDER_DATE DATE,
ORDER_AMOUNT NUMBER
);
-- CUSTOMER 테이블에 CUSTOMER_GRADE 컬럼에 대한 인덱스 존재
CREATE INDEX IDX_CUSTOMER_GRADE ON CUSTOMER (CUSTOMER_GRADE);
-- ORDERS 테이블에 CUSTOMER_ID 컬럼에 대한 인덱스 존재
CREATE INDEX IDX_ORDERS_CUSTOMER_ID ON ORDERS (CUSTOMER_ID);