SQL 의 검색창
WHERE 가 그룹핑/집계 전에 행 필터. WHERE 에 넣은 모든 조건이 나머지 쿼리가 보지도 않을 행 제거. 더 싼 쿼리, 더 작은 결과, 더 적은 surprise.
연산자
- 동등/비교:
=,<>,<,<=,>,>=. - boolean 결합:
AND,OR,NOT— 비-trivial 로직엔 괄호. - 집합 멤버십:
IN (...),NOT IN (...). - 범위:
BETWEEN x AND y(양 끝 포함). - 패턴:
LIKE(대소문자 구분),ILIKE(대소문자 무시, PostgreSQL). - NULL:
IS NULL,IS NOT NULL,IS DISTINCT FROM.
일찍 필터, 싸게 필터
가능한 모든 필터를 WHERE 로 — 나머지 쿼리가 처리할 데이터 줄어듦. 인덱스 쓸 수 있는 ('인덱싱 가능') predicate 가 full scan 필요한 거보다 극적으로 쌈.