SQLD 기출문제 예상문제 47

다음 문제를 풀어보세요.

다음 중 아래 SQL을 실행했을 때, 가장 효율적인 실행 계획을 생성하도록 쿼리를 변환한 것으로 적절한 것을 고르시오.

-- 기존 쿼리
SELECT A.CUSTOMER_ID, A.CUSTOMER_NAME, B.ORDER_ID, B.ORDER_DATE
FROM CUSTOMER A
LEFT OUTER JOIN ORDER B ON A.CUSTOMER_ID = B.CUSTOMER_ID
WHERE A.CUSTOMER_ID IN (SELECT CUSTOMER_ID FROM ACCOUNT WHERE BALANCE > 1000000);

[테이블 구조]

CREATE TABLE CUSTOMER (
    CUSTOMER_ID VARCHAR2(10) PRIMARY KEY,
    CUSTOMER_NAME VARCHAR2(50)
);

CREATE TABLE ORDER (
    ORDER_ID VARCHAR2(10) PRIMARY KEY,
    CUSTOMER_ID VARCHAR2(10),
    ORDER_DATE DATE,
    FOREIGN KEY (CUSTOMER_ID) REFERENCES CUSTOMER(CUSTOMER_ID)
);

CREATE TABLE ACCOUNT (
    ACCOUNT_ID VARCHAR2(10) PRIMARY KEY,
    CUSTOMER_ID VARCHAR2(10),
    BALANCE NUMBER,
    FOREIGN KEY (CUSTOMER_ID) REFERENCES CUSTOMER(CUSTOMER_ID)
);