SQLD데이터 모델과 SQL성능 데이터 모델링난이도 2MCQ

SQLD 성능 데이터 모델링 기출문제 #153

문제

다음 테이블과 인덱스 구조에서 주어진 SQL의 실행 결과로 올바른 것은?

Code
CREATE TABLE ORDERS ( ORDER_ID NUMBER, CUSTOMER_ID NUMBER, ORDER_DATE DATE, AMOUNT NUMBER ); CREATE INDEX IDX_ORDERS ON ORDERS(CUSTOMER_ID, ORDER_DATE, AMOUNT); INSERT INTO ORDERS VALUES (1, 100, '2023-01-15', 1000); INSERT INTO ORDERS VALUES (2, 100, '2023-01-20', 1500); INSERT INTO ORDERS VALUES (3, 200, '2023-01-15', 2000); INSERT INTO ORDERS VALUES (4, 200, '2023-01-25', 1200);
SQL
SELECT COUNT(*) FROM ORDERS WHERE CUSTOMER_ID = 100 AND ORDER_DATE >= '2023-01-18' AND AMOUNT > 1200;

① 0 ② 1 ③ 2 ④ 3

정답

2

해설

조건을 만족하는 행을 찾아보면: CUSTOMER_ID=100인 행은 ORDER_ID 1, 2입니다. 이 중 ORDER_DATE >= '2023-01-18'을 만족하는 것은 ORDER_ID 2('2023-01-20')뿐입니다. 그리고 AMOUNT > 1200 조건을 확인하면 ORDER_ID 2의 AMOUNT는 1500으로 조건을 만족합니다. 따라서 결과는 1건입니다. 복합 인덱스 IDX_ORDERS(CUSTOMER_ID, ORDER_DATE, AMOUNT)가 모든 조건에 효율적으로 활용됩니다.

이런 문제 20~50개를 한 번에 풀어보세요

매번 새로 추가되는 모의고사 + 오답 자동 복습 + 회차별 실력 추적. 회원가입 후 무료 이용.

[SQLD] 성능 데이터 모델링 데이터 모델과 SQL 기출 #153 | sqldpass