문제
다음 중 도서명에 '액세스'라는 단어가 포함된 도서 정보를 검색하려고 할 때, 아래 SQL 문의 WHERE절에 들어갈 조건으로 옳은 것은?
① 도서명 = "액세스" ② 도서명 IN "액세스" ③ 도서명 BETWEEN "액세스" ④ 도서명 LIKE "액세스"
정답
4번
해설
정답: 4. 특정 단어가 '포함'된 데이터를 찾을 때는 패턴 검색 연산자 LIKE와 만능 문자(Access에서는 *)를 함께 사용한다. 도서명 LIKE "*액세스*"는 '액세스'를 포함한 모든 도서명을 검색한다.
오답 풀이
- 1번:
=는 정확히 일치하는 값만 찾으며, 만능 문자가 적용되지 않아*액세스*자체와 같은 값을 찾는다. - 2번: IN은 여러 값의 목록 중 하나와 일치하는지 검사하는 연산자로 패턴 검색에 쓰지 않는다.
- 3번: BETWEEN은 두 값 사이의 범위를 검사하는 연산자로 부분 일치 검색에 맞지 않다.
- 4번: LIKE와
*로 '액세스' 포함 여부를 검사하므로 옳다.
보충 개념
Access SQL에서 LIKE의 만능 문자는 *(여러 글자), ?(한 글자)이다. 표준 SQL에서는 %와 _를 사용한다.