where 연산자

조건자를 만족하는 행의 부분집합으로 테이블을 필터링합니다.

wherefilter 연산자는 동일합니다.

Syntax

T| where조건자

구문 규칙에 대해 자세히 알아봅니다.

매개 변수

이름 형식 필수 설명
T string ✔️ 레코드를 필터링할 테이블 형식 입력입니다.
Predicate string ✔️ T의 각 행에 대해 부울로 계산되는 식입니다.

반환

PredicatetrueT의 행입니다.

참고

모든 필터링 함수는 null 값과 비교할 때 false를 반환합니다. 특수 null 인식 함수를 사용하여 null 값을 처리하는 쿼리를 작성합니다.

성능 팁

  • 단순 비교를 사용 합니다('상수'는 테이블에 대한 상수를 의미합니다. ('상수'는 테이블에 대한 상수를 의미합니다. 따라서 now()ago()는 정상이며, let을 사용하여 할당된 스칼라도 마찬가지입니다.)

    예를 들어 where bin(Timestamp, 1d) == ago(1d)보다 where Timestamp >= ago(1d)을(를) 선호합니다.

  • 가장 단순한 용어를 먼저 사용합니다. and을(를) 사용하여 여러 절을 결합하는 경우에는 열이 하나만 포함된 절을 앞쪽에 배치합니다. 따라서 Timestamp > ago(1d) and OpId == EventId 이 다른 방법보다 낫습니다.

자세한 내용은 사용 가능한 문자열 연산자 요약 및 사용 가능한 숫자 연산자 요약을 참조하세요.

예제

복잡성별 순서 비교

다음 쿼리는 손상된 속성을 보고하고 홍수이며 다른 위치에서 시작 및 종료되는 Storm 레코드를 반환합니다.

여기서 연산자는 인덱스를 사용할 수 없고 검사를 강제로 적용하므로 두 열 간의 비교를 마지막으로 배치합니다.

StormEvents
| project DamageProperty, EventType, BeginLocation, EndLocation
| where DamageProperty > 0
    and EventType == "Flood"
    and BeginLocation != EndLocation 

다음 표에는 상위 10개 결과만 표시됩니다. 전체 출력을 보려면 쿼리를 실행합니다.

DamageProperty EventType BeginLocation EndLocation
5,000 홍수 페이엣 시티 로우버
5,000 홍수 모리스빌 웨스트 웨인스버그
10000 홍수 코플랜드 해리스 그로브
5,000 홍수 글렌포드 산 페리
25000 홍수 이스트 세네카 버팔로 에어파크 ARPT
20000 홍수 에벤에셀 슬론
10000 홍수 부엘 칼훈
10000 홍수 굿호프 웨스트 밀포드
5,000 홍수 덩케르크 숲
20000 홍수 파밍턴 매닝턴

열에 문자열이 포함되어 있는지 확인

다음 쿼리는 "cow"라는 단어가 열에 표시되는 행을 반환합니다.

StormEvents
| where * has "cow"