걸러서 남기기
WHERE 절은 row마다 한 번씩 평가되는 boolean 표현식이야. true인 row만 남고 나머지는 떨어져 나가.
95%는 이 여섯 묶음으로 해결돼.
- 비교 —
=,!=와<>,<,<=,>,>=. - Boolean 결합 —
AND,OR,NOT, 그리고 묶을 때 쓰는 괄호. - Set 멤버십 —
IN (a, b, c),NOT IN (...). - Range —
BETWEEN a AND b. 양 끝을 포함해. - NULL —
IS NULL과IS NOT NULL.= NULL은 절대 안 돼. 결과가 true가 아니라 NULL이라, 아무 row도 안 걸리거든. - 패턴 —
LIKE 'a%',GLOB, 그리고 extension이 있어야 쓰는REGEXP.
Warning:
NULL = NULL의 결과는 TRUE가 아니라 NULL이야. NULL != anything도 마찬가지로 NULL이고. 항상 IS NULL이나 IS NOT NULL을 써. 이걸 까먹어서 생기는 버그가 어마어마하게 많아.