Перейти к основному содержимому
Перейти к основному содержимому

Оператор WHERE

WHERE оператор позволяет фильтровать данные, которые поступают из FROM оператора SELECT.

Если существует оператор WHERE, он должен содержать выражение с типом UInt8. Это обычно выражение с операциями сравнения и логическими операторами. Строки, для которых это выражение оценивается в 0, исключаются из дальнейших преобразований или результата.

Выражение WHERE оценивается на возможность использования индексов и обрезки партиций, если поддерживается движком таблицы.

примечание

Существует оптимизация фильтрации под названием PREWHERE.

Если вам нужно проверить значение на NULL, используйте операторы IS NULL и IS NOT NULL или функции isNull и isNotNull. В противном случае, выражение с NULL никогда не пройдет.

Пример

Чтобы найти числа, которые кратны 3 и больше 10, выполните следующий запрос на таблице numbers:

Результат:

Запросы с NULL значениями:

Результат: