WHERE
Appliquer un filtre sur les enregistrements
Condition relative à un seuil
SELECT *
FROM schema.table
WHERE colonne1 < 10;Opérateurs numériques : <, >, <=, >=, =, <>, !=
Condition relative à des valeurs textuelles
SELECT *
FROM schema.table
WHERE colonne1 LIKE '08___';Opérateurs de comparaison des chaînes de caractères : =, LIKE, SIMILAR Caractères spéciaux pour opérateur LIKE :
_ représente un caractère quel qu’il soit
% représente n’importe quelle quantité de caractères (y compris 0)
Combinaisons logiques de conditions
SELECT *
FROM schema.table
WHERE colonne1 < 10 AND NOT colonne2 = 10.5;Opérateurs logiques : AND, OR, NOT
Il est également possible d’utiliser des parenthèses lorsque l’on combine des AND, OR et NOT. Cela permet de rendre les conditions complexes plus lisibles et de s’abstraire des priorités d’interprétation de ces opérateurs.
SELECT *
FROM schema.table
WHERE (colonne1 < 10 AND NOT colonne2 = 10.5) OR colonne1 = 0;Chaîne de caractères de longueur nulle
SELECT *
FROM schema.table
WHERE colonne1 = '';Une chaîne de caractères de longueur nulle est une valeur comme une autre (ne pas confondre avec NULL).
Colonne non-renseignée
SELECT *
FROM schema.table
WHERE colonne1 IS NULL;Le test logique inverse est IS NOT NULL. NULL n’est pas une valeur ; il désigne l’absence de renseignement d’une colonne.
Condition utilisant une liste de valeurs
SELECT *
FROM schema.table
WHERE colonne1 IN (valeur1, valeur2, valeur3);Condition utilisant une plage de valeurs
SELECT *
FROM schema.table
WHERE colonne1 BETWEEN valeur1 AND valeur2;Condition utilisant une fonction
SELECT *
FROM schema.table
WHERE lower(colonne1) = 'ardennes';