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>
Copy
...
WHERE <predicate>
[ ... ]
Copy

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);
Copy

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);
Copy

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);
Copy
  1. Verwenden Sie Vergleichsoperatoren (wie z. B. =, >, <, >=, <=) in der Klausel WHERE, um Daten zu filtern.

ID

NAME

AGE

300

Mike

80

400

Dan

50


  1. 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


  1. Verwendung von IS NULL in der WHERE-Klausel, um nach Nullwerten zu suchen.

ID

NAME

AGE

200

Maria

null

400

Dan

50


  1. Verwendung von Funktionsausdrücken innerhalb einer WHERE-Klausel.

ID

NAME

AGE

100

John

30

200

Maria

null

300

Mike

80


  1. Verwenden des BETWEEN-Operators in einer WHERE-Klausel, um Daten auf der Grundlage eines Wertebereichs zu filtern.

ID

NAME

AGE

200

Maria

null

300

Mike

80


  1. Verwenden einer skalaren Unterabfrage innerhalb einer WHERE-Klausel.

ID

NAME

AGE

300

Mike

80


  1. 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);
Copy
  1. Verwenden Sie Vergleichsoperatoren (wie z. B. =, >, <, >=, <=) in der Klausel WHERE, um Daten zu filtern.

ID

NAME

AGE

300

Mike

80

400

Dan

50


  1. 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


  1. Verwendung von IS NULL in der WHERE-Klausel, um nach Nullwerten zu suchen.

ID

NAME

AGE

200

Maria

null

400

Dan

50


  1. Verwendung von Funktionsausdrücken innerhalb einer WHERE-Klausel.

ID

NAME

AGE

100

John

30

200

Maria

null

300

Mike

80


  1. Verwenden des BETWEEN-Operators in einer WHERE-Klausel, um Daten auf der Grundlage eines Wertebereichs zu filtern.

ID

NAME

AGE

200

Maria

null

300

Mike

80


  1. Verwenden einer skalaren Unterabfrage innerhalb einer WHERE-Klausel.

ID

NAME

AGE

300

Mike

80


  1. Korrelierte Unterabfrage in der WHERE-Klausel.

ID

NAME

AGE

200

Maria

null

Bekannte Probleme

Es wurden keine Probleme gefunden