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)
);