SQLD 기출문제 예상문제 378

다음 문제를 풀어보세요.

다음 중 아래 SQL문의 실행 결과에 대한 설명으로 가장 적절한 것을 고르시오.

[테이블 구조]

CREATE TABLE PRODUCTS (
    product_id   VARCHAR(10) PRIMARY KEY,
    product_name VARCHAR(100),
    price        DECIMAL(10, 2)
);

CREATE TABLE ORDERS (
    order_id     VARCHAR(10) PRIMARY KEY,
    product_id   VARCHAR(10),
    quantity     INT,
    order_date   DATE,
    FOREIGN KEY (product_id) REFERENCES PRODUCTS (product_id)
);

[데이터 예시]

PRODUCTS 테이블

product_id product_name price
P001 노트북 1200.00
P002 마우스 25.00
P003 키보드 75.00
P004 모니터 300.00

ORDERS 테이블

order_id product_id quantity order_date
O001 P001 2 2023-01-05
O002 P002 10 2023-01-05
O003 P001 1 2023-01-06
O004 P003 5 2023-01-06
O005 P002 8 2023-01-07
O006 P004 3 2023-01-07
O007 P001 3 2023-01-08
O008 P003 7 2023-01-08
O009 P005 15 2023-01-09

[SQL 쿼리]

SELECT
    P.product_name,
    SUM(O.quantity) AS total_quantity_sold,
    COUNT(O.order_id) AS total_orders,
    AVG(O.quantity) AS average_quantity_per_order
FROM
    ORDERS O
JOIN
    PRODUCTS P ON O.product_id = P.product_id
WHERE
    O.order_date BETWEEN '2023-01-01' AND '2023-01-31'
GROUP BY
    P.product_name
HAVING
    SUM(O.quantity) > 10 AND AVG(O.quantity) > 3;