Оператор where
Область применения: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Отфильтровывает таблицу для подмножества строк, которые удовлетворяют предикату.
filter
Операторыwhere
эквивалентны
Синтаксис
T | where
предикат
Дополнительные сведения о соглашениях синтаксиса.
Параметры
Имя (название) | Type | Обязательно | Описание |
---|---|---|---|
T | string |
✔️ | Табличные входные данные, записи которых необходимо отфильтровать. |
Предикат | string |
✔️ | Выражение, которое вычисляет логическое значение для каждой строки в T. |
Возвраты
Строки из таблицы T, для которых Predicate имеет значение true
.
Примечание.
Все функции фильтрации возвращают значение false при сравнении со значениями NULL. Используйте специальные функции с поддержкой NULL для записи запросов, обрабатывающих значения NULL.
Советы по производительности
Используйте простые сравнения между именами столбцов и константами. (Под константой здесь понимается значение, постоянное для всех строк таблицы. Соответственно, допустимо использовать функции
now()
иago()
, а также скалярные значения, назначенные с помощью оператораlet
.)Например, лучше использовать
where Timestamp >= ago(1d)
, чемwhere bin(Timestamp, 1d) == ago(1d)
.Вводите сначала более простые элементы. Если у вас есть несколько предложений, объединенных с помощью
and
, то сначала вводите предложения, которые включают только один столбец. Пример правильного порядка предложений:Timestamp > ago(1d) and OpId == EventId
.
Дополнительные сведения см. в сводке доступных строковых операторов и в сводке доступных числовых операторов.
Примеры
Сравнение заказов по сложности
Следующий запрос возвращает записи шторма, сообщающие о поврежденном свойстве, являются наводнениями и начинаются и заканчиваются в разных местах.
Обратите внимание, что мы ставим сравнение между двумя столбцами последним, так как оператор не может использовать индекс и принудительно сканирует.
StormEvents
| project DamageProperty, EventType, BeginLocation, EndLocation
| where DamageProperty > 0
and EventType == "Flood"
and BeginLocation != EndLocation
В следующей таблице показаны только первые 10 результатов. Чтобы просмотреть полные выходные данные, выполните запрос.
DamageProperty | EventType | BeginLocation | EndLocation |
---|---|---|---|
5000 | Наводнение | FAYETTE CITY LOWBER | |
5000 | Наводнение | МОРРИСВИЛЛ УЭСТ УЭЙНСБУРГ | |
10000 | Наводнение | КОУПЛЕНД ХАРРИС РОУВ | |
5000 | Наводнение | ГЛЕНФОРД MT ПЕРРИ | |
25 000 | Наводнение | EAST SENECA BUFFALO AIRPARK ARPT | |
20000 | Наводнение | EBENEZER SLOAN | |
10000 | Наводнение | BUEL CALHOUN | |
10000 | Наводнение | ГУДХОП УЭСТ МИЛФОРД | |
5000 | Наводнение | ЛЕС DUNKIRK | |
20000 | Наводнение | ФАРМИНГТОН МАННИНГТОН |
Проверьте, содержит ли столбец строку
Следующий запрос возвращает строки, в которых слово "корова" отображается в любом столбце.
StormEvents
| where * has "cow"