Snowpark Migration Accelerator: Wo¶
Beschreibung¶
Filtert die Daten, die von einer Abfrage oder Unterabfrage zurückgegeben werden, anhand der angegebenen Bedingungen.(Databricks SQL-Sprachreferenz WHERE)
Die Klauset WHERE
filtert Daten, indem sie bestimmte Bedingungen definiert, die erfüllt sein müssen.(Snowflake SQL-Sprachreferenz WHERE)
Syntax¶
WHERE <boolean_expression>
...
WHERE <predicate>
[ ... ]
Beispielhafte Quellcode-Muster¶
Datenkonfiguration¶
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);
Muster-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);
Verwenden Sie Vergleichsoperatoren (wie z. B. =, >, <, >=, <=) in der Klausel
WHERE
, um Daten zu filtern.
ID |
NAME |
AGE |
---|---|---|
300 |
Mike |
80 |
400 |
Dan |
50 |
Verwenden Sie Vergleichsoperatoren (=, <, >, <=, >=, !=) und logische Operatoren (AND, OR, NOT) in der Klausel
WHERE
, um Daten zu filtern.
ID |
NAME |
AGE |
---|---|---|
200 |
Maria |
null |
300 |
Mike |
80 |
Verwendung von
IS NULL
in derWHERE
-Klausel, um nach Nullwerten zu suchen.
ID |
NAME |
AGE |
---|---|---|
200 |
Maria |
null |
400 |
Dan |
50 |
Verwendung von Funktionsausdrücken innerhalb einer
WHERE
-Klausel.
ID |
NAME |
AGE |
---|---|---|
100 |
John |
30 |
200 |
Maria |
null |
300 |
Mike |
80 |
Verwenden des
BETWEEN
-Operators in einerWHERE
-Klausel, um Daten auf der Grundlage eines Wertebereichs zu filtern.
ID |
NAME |
AGE |
---|---|---|
200 |
Maria |
null |
300 |
Mike |
80 |
Verwenden einer skalaren Unterabfrage innerhalb einer
WHERE
-Klausel.
ID |
NAME |
AGE |
---|---|---|
300 |
Mike |
80 |
Eine Unterabfrage in der
WHERE
-Klausel, die auf Spalten aus der äußeren Abfrage verweist.
ID |
NAME |
AGE |
---|---|---|
200 |
Maria |
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);
Verwenden Sie Vergleichsoperatoren (wie z. B. =, >, <, >=, <=) in der Klausel
WHERE
, um Daten zu filtern.
ID |
NAME |
AGE |
---|---|---|
300 |
Mike |
80 |
400 |
Dan |
50 |
Verwenden von Vergleichsoperatoren (wie z. B. =, <, >, <=, >=) und logischen Operatoren (wie z. B. AND, OR, NOT) in der
WHERE
-Klausel zum Filtern von Daten.
ID |
NAME |
AGE |
---|---|---|
200 |
Maria |
null |
300 |
Mike |
80 |
Verwendung von
IS NULL
in derWHERE
-Klausel, um nach Nullwerten zu suchen.
ID |
NAME |
AGE |
---|---|---|
200 |
Maria |
null |
400 |
Dan |
50 |
Verwendung von Funktionsausdrücken innerhalb einer
WHERE
-Klausel.
ID |
NAME |
AGE |
---|---|---|
100 |
John |
30 |
200 |
Maria |
null |
300 |
Mike |
80 |
Verwenden des
BETWEEN
-Operators in einerWHERE
-Klausel, um Daten auf der Grundlage eines Wertebereichs zu filtern.
ID |
NAME |
AGE |
---|---|---|
200 |
Maria |
null |
300 |
Mike |
80 |
Verwenden einer skalaren Unterabfrage innerhalb einer
WHERE
-Klausel.
ID |
NAME |
AGE |
---|---|---|
300 |
Mike |
80 |
Korrelierte Unterabfrage in der
WHERE
-Klausel.
ID |
NAME |
AGE |
---|---|---|
200 |
Maria |
null |
Bekannte Probleme¶
Es wurden keine Probleme gefunden