SQLD 기출문제 예상문제 380

다음 문제를 풀어보세요.

다음 중 'Electronics' 카테고리의 상품을 구매했지만 'Books' 카테고리의 상품은 구매하지 않은 고객의 이름을 가장 효율적으로 조회하는 SQL을 고르시오.

[테이블 구조]

고객의 주문 내역 및 구매한 상품의 카테고리 정보를 관리하는 테이블은 다음과 같습니다.

CREATE TABLE CUSTOMERS (
    CUSTOMER_ID VARCHAR(10) PRIMARY KEY,
    CUSTOMER_NAME VARCHAR(100),
    REGION VARCHAR(50)
);

CREATE TABLE ORDERS (
    ORDER_ID VARCHAR(10) PRIMARY KEY,
    CUSTOMER_ID VARCHAR(10),
    ORDER_DATE DATE,
    TOTAL_AMOUNT DECIMAL(10, 2),
    FOREIGN KEY (CUSTOMER_ID) REFERENCES CUSTOMERS(CUSTOMER_ID)
);

CREATE TABLE ORDER_ITEMS (
    ORDER_ITEM_ID VARCHAR(10) PRIMARY KEY,
    ORDER_ID VARCHAR(10),
    PRODUCT_ID VARCHAR(10),
    QUANTITY INT,
    UNIT_PRICE DECIMAL(10, 2),
    FOREIGN KEY (ORDER_ID) REFERENCES ORDERS(ORDER_ID),
    FOREIGN KEY (PRODUCT_ID) REFERENCES PRODUCTS(PRODUCT_ID)
);

CREATE TABLE PRODUCTS (
    PRODUCT_ID VARCHAR(10) PRIMARY KEY,
    PRODUCT_NAME VARCHAR(100),
    CATEGORY_ID VARCHAR(10),
    FOREIGN KEY (CATEGORY_ID) REFERENCES CATEGORIES(CATEGORY_ID)
);

CREATE TABLE CATEGORIES (
    CATEGORY_ID VARCHAR(10) PRIMARY KEY,
    CATEGORY_NAME VARCHAR(100)
);