문제
다음 중 SQL문의 각 WHERE절에 대한 설명으로 옳지 않은 것은?
① WHERE 부서 = '영업부' → 부서 필드의 값이 '영업부' 인 레코드들이 검색됨 ② WHERE 나이 Between 28 in 40 → 나이 필드의 값이 29에서 39 사이인 레코드들이 검색됨 ③ WHERE 생일 = #1996-5-10# → 생일 필드의 값이 1996-5-10인 레코드들이 검색됨 ④ WHERE 입사년도 = 2014 → 입사년도 필드의 값이 2014인 레코드들이 검색됨
정답
2번
해설
정답: 2. BETWEEN의 올바른 문법은 'Between 28 And 40'이며 양 끝값을 포함한다. 즉 28 이상 40 이하를 검색한다. 'in 40'은 잘못된 문법이고, '29에서 39 사이'라는 설명도 경계값 포함 여부가 잘못되었다.
오답 풀이
- 1번: 문자열 비교 WHERE 부서='영업부'는 정확히 일치하는 레코드를 찾으므로 옳다.
- 2번: BETWEEN 문법·검색 범위 설명이 모두 잘못되었으므로 옳지 않다.
- 3번: Access에서 날짜는 #...#로 묶어 비교하므로 옳다.
- 4번: 숫자 비교 WHERE 입사년도=2014는 옳다.
보충 개념 BETWEEN a AND b는 a 이상 b 이하(경계 포함)를 의미한다. Access에서 날짜 리터럴은 #2014-01-01#처럼 #으로 감싼다.