SQLD 기출문제 예상문제 26번
다음 문제를 풀어보세요.
다음 중 아래 SQL에 대한 설명으로 가장 적절한 것을 고르시오.
CREATE TABLE ORDERS (
ORDER_ID INT PRIMARY KEY,
CUSTOMER_ID INT,
ORDER_DATE DATE,
TOTAL_AMOUNT DECIMAL(10, 2)
);
CREATE TABLE CUSTOMERS (
CUSTOMER_ID INT PRIMARY KEY,
CUSTOMER_NAME VARCHAR(255),
CITY VARCHAR(255)
);
INSERT INTO ORDERS (ORDER_ID, CUSTOMER_ID, ORDER_DATE, TOTAL_AMOUNT) VALUES
(1, 101, '2023-01-15', 150.00),
(2, 102, '2023-02-20', 200.00),
(3, 101, '2023-03-10', 100.00),
(4, 103, '2023-04-05', 250.00);
INSERT INTO CUSTOMERS (CUSTOMER_ID, CUSTOMER_NAME, CITY) VALUES
(101, 'Alice', 'New York'),
(102, 'Bob', 'Los Angeles'),
(103, 'Charlie', 'Chicago');
-- 실행 계획 1
UPDATE ORDERS
SET TOTAL_AMOUNT = TOTAL_AMOUNT * 1.1
WHERE CUSTOMER_ID IN (SELECT CUSTOMER_ID FROM CUSTOMERS WHERE CITY = 'New York');
-- 실행 계획 2
UPDATE ORDERS
SET TOTAL_AMOUNT = TOTAL_AMOUNT * 1.1
WHERE EXISTS (SELECT 1 FROM CUSTOMERS WHERE CUSTOMERS.CUSTOMER_ID = ORDERS.CUSTOMER_ID AND CITY = 'New York');