SQLD 기출문제 예상문제 211번
다음 문제를 풀어보세요.
다음 중 아래 SQL 쿼리의 성능 개선을 위해 고려할 수 있는 방법으로 가장 적절하지 않은 것은 무엇인가?
SELECT O.ORDER_ID, C.CUSTOMER_NAME, SUM(OI.QUANTITY * P.PRICE) AS TOTAL_AMOUNT
FROM ORDERS O
JOIN CUSTOMERS C ON O.CUSTOMER_ID = C.CUSTOMER_ID
JOIN ORDER_ITEMS OI ON O.ORDER_ID = OI.ORDER_ID
JOIN PRODUCTS P ON OI.PRODUCT_ID = P.PRODUCT_ID
WHERE O.ORDER_DATE BETWEEN '2023-01-01' AND '2023-01-31'
GROUP BY O.ORDER_ID, C.CUSTOMER_NAME
HAVING SUM(OI.QUANTITY * P.PRICE) > 100000;
[테이블 구조]
CREATE TABLE CUSTOMERS (
CUSTOMER_ID INT PRIMARY KEY,
CUSTOMER_NAME VARCHAR(255)
);
CREATE TABLE ORDERS (
ORDER_ID INT PRIMARY KEY,
CUSTOMER_ID INT,
ORDER_DATE DATE,
FOREIGN KEY (CUSTOMER_ID) REFERENCES CUSTOMERS(CUSTOMER_ID)
);
CREATE TABLE ORDER_ITEMS (
ORDER_ITEM_ID INT PRIMARY KEY,
ORDER_ID INT,
PRODUCT_ID INT,
QUANTITY INT,
FOREIGN KEY (ORDER_ID) REFERENCES ORDERS(ORDER_ID)
);
CREATE TABLE PRODUCTS (
PRODUCT_ID INT PRIMARY KEY,
PRICE DECIMAL(10, 2)
);