Секция WHERE
Позволяет задать выражение, которое ClickHouse использует для фильтрации данных перед всеми другими действиями в запросе кроме выражений, содержащихся в секции PREWHERE. Обычно, это выражение с логическими операторами.
Результат выражения должен иметь тип UInt8
.
ClickHouse использует в выражении индексы, если это позволяет движок таблицы.
Если в секции необходимо проверить NULL, то используйте операторы IS NULL и IS NOT NULL, а также соответствующие функции isNull
и isNotNull
. В противном случае выражение будет считаться всегда не выполненным.
Пример проверки на NULL
:
SELECT * FROM t_null WHERE y IS NULL
┌─x─┬────y─┐
│ 1 │ ᴺᵁᴸᴸ │
└───┴──────┘
Примечание
Существует оптимизация фильтрации под названием prewhere.