4장 - 필터링

not 연산자를 포함하는 where 절은 읽기 어려울 수 있으므로, 두 번째 코드처럼 변경하면 좋다.

where not (first_name = 'STEVEN' or last_name = 'YOUNG')
  and create_date > '2006-01-01'
where first_name <> 'STEVEN' and last_name <> 'YOUNG'
  and create_date > '2006-01-01'

select customer_id, rental_date
from rental
where rental_date <= '2005-06-16'
  and rental_date >= '2005-06-14';

위와 같이 부등호를 사용하지 않고 between을 사용할 수 있다.

select customer_id, rental_date
from rental
where rental_date between '2005-06-14' and '2005-06-16';

단, between은 지정값을 모두 포함한다.


와일드카드 문자

와일드카드 문자를 사용하면 간단한 검색 표현식을 작성할 수 있다.

select last_name, first_name
from customer
where last_name like '_A_T%S'; -- %는 여러 문자, _는 한 문자

정규 표현식 예제

문제 : 이름이 Q 또는 Y로 시작하는 모든 고객 찾기

select last_name, first_name
from customer
where last_name REGEXP '^[QY]';