다음을 통해 공유


WHERE 절

적용 대상: 예(예)로 표시된 확인 Databricks SQL 예(예)로 표시된 확인 Databricks 런타임

지정된 조건에 따라 쿼리 또는 하위 쿼리의 FROM 절 결과를 제한합니다.

구문

WHERE boolean_expression

매개 변수

  • boolean_expression

    결과 형식 BOOLEAN으로 평가되는 모든 식입니다. AND 또는 OR 같은 논리 연산자를 사용하여 둘 이상의 식을 결합할 수 있습니다.

예제

> CREATE TABLE person (id INT, name STRING, age INT);
> INSERT INTO person VALUES
    (100, 'John',   30),
    (200, 'Mary', NULL),
    (300, 'Mike',   80),
    (400, 'Dan' ,   50);

-- Comparison operator in `WHERE` clause.
> SELECT * FROM person WHERE id > 200 ORDER BY id;
 300 Mike 80
 400  Dan 50

-- Comparison and logical operators in `WHERE` clause.
> SELECT * FROM person WHERE id = 200 OR id = 300 ORDER BY id;
 200 Mary NULL
 300 Mike   80

-- IS NULL expression in `WHERE` clause.
> SELECT * FROM person WHERE id > 300 OR age IS NULL ORDER BY id;
 200 Mary null
 400  Dan   50

-- Function expression in `WHERE` clause.
> SELECT * FROM person WHERE length(name) > 3 ORDER BY id;
 100 John   30
 200 Mary NULL
 300 Mike   80

-- `BETWEEN` expression in `WHERE` clause.
SELECT * FROM person WHERE id BETWEEN 200 AND 300 ORDER BY id;
 200 Mary NULL
 300 Mike   80

-- Scalar Subquery in `WHERE` clause.
> SELECT * FROM person WHERE age > (SELECT avg(age) FROM person);
 300 Mike  80

-- Correlated Subquery in `WHERE` clause.
> SELECT * FROM person AS parent
   WHERE EXISTS (SELECT 1 FROM person AS child
                  WHERE parent.id = child.id
                    AND child.age IS NULL);
 200 Mary NULL