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

WHERE Клаузула

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

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

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

примечание

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

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

Пример

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

Результат:

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

Результат: