Snowpark Migration Accelerator : Clause Where

Description

Filtre les données renvoyées par une requête ou une sous-requête en fonction de conditions spécifiées.(Référence linguistique Databricks SQL WHERE)

La clause WHERE filtre les données en définissant des conditions spécifiques qui doivent être remplies.(Référence linguistique Snowflake SQL WHERE)

Syntaxe

WHERE <boolean_expression>
Copy
...
WHERE <predicate>
[ ... ]
Copy

Modèles d’échantillons de sources

Données de configuration

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

Code du modèle

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. Utilisez les opérateurs de comparaison (tels que =, >, <, >=, <=) dans la clause WHERE pour filtrer les données.

ID

NAME

AGE

300

Mike

80

400

Dan

50


  1. Utilisez les opérateurs de comparaison (=, <, >, <=, >=, !=) et les opérateurs logiques (AND, OR, NOT) dans la clause WHERE pour filtrer les données.

ID

NAME

AGE

200

Mary

null

300

Mike

80


  1. Utilisation de IS NULL dans la clause WHERE pour vérifier la présence de valeurs nulles.

ID

NAME

AGE

200

Mary

null

400

Dan

50


  1. Utilisation d’expressions de fonctions dans une clause WHERE.

ID

NAME

AGE

100

John

30

200

Mary

null

300

Mike

80


  1. Utilisation de l’opérateur BETWEEN dans une clause WHERE pour filtrer les données sur la base d’une plage de valeurs.

ID

NAME

AGE

200

Mary

null

300

Mike

80


  1. Utilisation d’une sous-requête scalaire dans une clause WHERE.

ID

NAME

AGE

300

Mike

80


  1. Une sous-requête dans la clause WHERE qui fait référence aux colonnes de la requête externe.

ID

NAME

AGE

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);
Copy
  1. Utilisez les opérateurs de comparaison (tels que =, >, <, >=, <=) dans la clause WHERE pour filtrer les données.

ID

NAME

AGE

300

Mike

80

400

Dan

50


  1. Utilisation d’opérateurs de comparaison (tels que =, <, >, <=, >=) et d’opérateurs logiques (tels que AND, OR, NOT) dans la clause WHERE pour filtrer les données.

ID

NAME

AGE

200

Mary

null

300

Mike

80


  1. Utilisation de IS NULL dans la clause WHERE pour vérifier la présence de valeurs nulles.

ID

NAME

AGE

200

Mary

null

400

Dan

50


  1. Utilisation d’expressions de fonctions dans une clause WHERE.

ID

NAME

AGE

100

John

30

200

Mary

null

300

Mike

80


  1. Utilisation de l’opérateur BETWEEN dans une clause WHERE pour filtrer les données sur la base d’une plage de valeurs.

ID

NAME

AGE

200

Mary

null

300

Mike

80


  1. Utilisation d’une sous-requête scalaire dans une clause WHERE.

ID

NAME

AGE

300

Mike

80


  1. Sous-requête corrélée dans la clause WHERE.

ID

NAME

AGE

200

Mary

null

Problèmes connus

Aucun problème n’a été trouvé