SQLD 기출문제 예상문제 87번
다음 문제를 풀어보세요.
다음 중 아래 SQL 실행 계획에 대한 설명으로 가장 적절하지 않은 것을 고르시오.
다음은 고객(CUSTOMER) 테이블과 주문(ORDERS) 테이블에 대한 SQL 실행 계획입니다.
-- 고객 테이블 구조
CREATE TABLE CUSTOMER (
CUSTOMER_ID NUMBER PRIMARY KEY,
CUSTOMER_NAME VARCHAR2(50),
CITY VARCHAR2(50)
);
-- 주문 테이블 구조
CREATE TABLE ORDERS (
ORDER_ID NUMBER PRIMARY KEY,
CUSTOMER_ID NUMBER REFERENCES CUSTOMER(CUSTOMER_ID),
ORDER_DATE DATE,
TOTAL_AMOUNT NUMBER
);
-- SQL 쿼리
SELECT C.CUSTOMER_NAME, SUM(O.TOTAL_AMOUNT)
FROM CUSTOMER C
JOIN ORDERS O ON C.CUSTOMER_ID = O.CUSTOMER_ID
WHERE C.CITY = 'Seoul'
GROUP BY C.CUSTOMER_NAME;
-- 실행 계획
----------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
----------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 52 | 6 (17)| 00:00:01 |
| 1 | HASH GROUP BY | | 1 | 52 | 6 (17)| 00:00:01 |
| 2 | NESTED LOOPS | | 1 | 52 | 5 (20)| 00:00:01 |
| 3 | TABLE ACCESS FULL | CUSTOMER | 1 | 26 | 2 (50)| 00:00:01 |
|* 4 | INDEX UNIQUE SCAN | SYS_C0000| 1 | 26 | 0 (0)| 00:00:01 |
----------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
4 - access("C"."CUSTOMER_ID"="O"."CUSTOMER_ID")
5 - filter("C"."CITY"='Seoul')