문제
다음 테이블과 인덱스 구조에서 아래 SQL의 실행 결과는?
SQLCREATE TABLE PRODUCT ( CATEGORY VARCHAR(10), PRICE NUMBER, STOCK NUMBER ); CREATE INDEX IDX_PRODUCT ON PRODUCT(CATEGORY, PRICE); INSERT INTO PRODUCT VALUES('A', 1000, 10); INSERT INTO PRODUCT VALUES('A', 2000, 0); INSERT INTO PRODUCT VALUES('B', 1500, 5); INSERT INTO PRODUCT VALUES('B', 3000, 0); SELECT COUNT(*) FROM PRODUCT WHERE CATEGORY = 'A' AND PRICE > 1500 AND STOCK > 0;
① 0 ② 1 ③ 2 ④ 4
정답
1번
해설
조건을 만족하는 데이터를 찾아보면: CATEGORY='A'인 행은 (A,1000,10)과 (A,2000,0)입니다. 이 중 PRICE > 1500 조건을 만족하는 것은 (A,2000,0)뿐이지만, STOCK > 0 조건을 만족하지 않으므로(STOCK=0) 최종 결과는 0건입니다. 복합 인덱스 (CATEGORY, PRICE)는 처음 두 조건에는 효율적으로 사용되지만 STOCK 조건은 별도로 확인해야 합니다.