Where
Oh where has my translation reference gone?
Description
Limits the results of the FROM
clause of a query or a subquery based on the specified condition. (Databricks SQL Language Reference WHERE)
The WHERE
clause specifies a condition that acts as a filter. (Snowflake SQL Language Reference WHERE)
Syntax
WHERE boolean_expression
...
WHERE <predicate>
[ ... ]
Sample Source Patterns
Setup data
Databricks
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);
Snowflake
> 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);
Pattern code
Databricks
-- 1. Comparison operator in `WHERE` clause.
SELECT * FROM person WHERE id > 200 ORDER BY id;
-- 2. Comparison and logical operators in `WHERE` clause.
SELECT * FROM person WHERE id = 200 OR id = 300 ORDER BY id;
-- 3. IS NULL expression in `WHERE` clause.
SELECT * FROM person WHERE id > 300 OR age IS NULL ORDER BY id;
-- 4. Function expression in `WHERE` clause.
SELECT * FROM person WHERE length(name) > 3 ORDER BY id;
-- 5. `BETWEEN` expression in `WHERE` clause.
SELECT * FROM person WHERE id BETWEEN 200 AND 300 ORDER BY id;
-- 6. Scalar Subquery in `WHERE` clause.
SELECT * FROM person WHERE age > (SELECT avg(age) FROM person);
-- 7. 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);
Comparison operator in
WHERE
clause.
300
Mike
80
400
Dan
50
Comparison and logical operators in
WHERE
clause.
200
Mary
null
300
Mike
80
IS NULL expression in
WHERE
clause.
200
Mary
null
400
Dan
50
Function expression in
WHERE
clause.
100
John
30
200
Mary
null
300
Mike
80
BETWEEN
expression inWHERE
clause.
200
Mary
null
300
Mike
80
Scalar Subquery in
WHERE
clause.
300
Mike
80
Correlated Subquery in
WHERE
clause.
200
Mary
null
Snowflake
-- 1. Comparison operator in `WHERE` clause.
SELECT * FROM person WHERE id > 200 ORDER BY id;
-- 2. Comparison and logical operators in `WHERE` clause.
SELECT * FROM person WHERE id = 200 OR id = 300 ORDER BY id;
-- 3. IS NULL expression in `WHERE` clause.
SELECT * FROM person WHERE id > 300 OR age IS NULL ORDER BY id;
-- 4. Function expression in `WHERE` clause.
SELECT * FROM person WHERE length(name) > 3 ORDER BY id;
-- 5. `BETWEEN` expression in `WHERE` clause.
SELECT * FROM person WHERE id BETWEEN 200 AND 300 ORDER BY id;
-- 6. Scalar Subquery in `WHERE` clause.
SELECT * FROM person WHERE age > (SELECT avg(age) FROM person);
-- 7. 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);
Comparison operator in
WHERE
clause.
300
Mike
80
400
Dan
50
Comparison and logical operators in
WHERE
clause.
200
Mary
null
300
Mike
80
IS NULL expression in
WHERE
clause.
200
Mary
null
400
Dan
50
Function expression in
WHERE
clause.
100
John
30
200
Mary
null
300
Mike
80
BETWEEN
expression inWHERE
clause.
200
Mary
null
300
Mike
80
Scalar Subquery in
WHERE
clause.
300
Mike
80
Correlated Subquery in
WHERE
clause.
200
Mary
null
Known Issues
No issues were found
Related EWIs
No related EWIs
Last updated