문제
다음 SQL의 결과는?
[TAB] COL1: 10, 20, NULL, 40, 50
SQLSELECT * FROM TAB WHERE NOT (COL1 BETWEEN 15 AND 35);
① 10, 40, 50인 행 반환 ② 10, 40, 50, NULL인 행 반환 ③ 40, 50인 행만 반환 ④ 전체 행 반환
정답
1번
해설
BETWEEN 15 AND 35 조건에 해당하는 값은 20뿐입니다. NULL은 BETWEEN 연산에서 UNKNOWN을 반환합니다. NOT UNKNOWN은 여전히 UNKNOWN이므로 NULL 행은 결과에 포함되지 않습니다. 따라서 NOT (COL1 BETWEEN 15 AND 35) 조건을 만족하는 것은 10, 40, 50인 행들뿐입니다.