Les opérateurs de condition¶
Lorsqu'on écrit une condition (dans une contraint CHECK ou dans un WHERE, par exemple), plusieurs opérateurs sont disponibles pour tester si cette condition est vraie ou fausse.
Égal, différent, plus grand, plus petit, plus grand ou égal, plus petit ou égal¶
Une condition peut être égale ou non.
- Égal : =
- Différent : <> (standard en bases de données ) ou != (supporté, mais pas standardisé dans toutes les BD)
- Plus petit et plus grand : < et >
- Plus petit ou égal et plus grand ou égal : <= et >=
SELECT *
FROM Client
WHERE abonnementClient <> 3;
Résultat : Toutes les informations de tous les clients dont l'abonnement est différent du type 3.
Comparaison à une liste de valeurs (IN / NOT IN)¶
Permet de tester si une valeur fait partie d'une liste donnée.
SELECT *
FROM Client
WHERE abonnementClient IN (1, 3);
Résultat : Affiche tous les clients dont le numéro d'abonnement est soit 1 ou 3.
SELECT *
FROM Client
WHERE abonnementClient NOT IN (1, 2);
Résultat : Affiche tous les clients dont le numéro d'abonnement n'est ni 1 ni 2.
Comparaison à une plage de valeurs (BETWEEN / NOT BETWEEN)¶
Permet de tester si valeurs se trouve à l'intérieur ou à l'extérieur d'une plage donnée.
SELECT *
FROM Client
WHERE expirationClient BETWEEN SYSDATE AND SYSDATE + 7;
Résultat : Affiche tous les clients dont la date d'expiration se trouve entre aujourd'hui et dans les 7 prochains jours.
Recherche un format de chaîne (LIKE / NOT LIKE)¶
Permet de chercher une chaîne de caractères qui contient (ou non) un format donné.
- % : n’importe quelle suite de caractères
- _ : un seul caractère
SELECT *
FROM Client
WHERE courrielClient LIKE '%gmail.com';
Résultat : Affiche tous les clients dont l'adresse courriel se termine par la chaîne "gmail.com"
Vérifier si un champ contient une valeur (NULL / NOT NULL)¶
Permet de tester l’absence ou la présence d’une valeur.
NOTE: La valeur NULL en base de données indique simplement qu'aucune donné n'existe dans la colonne demandée.
SELECT *
FROM Client
WHERE courrielClient IS NULL;
Résultat : Affiche tous les clients pour lesquels nous n'avons pas d'adresse courriel.
On ne peut pas utiliser = avec NULL.
Les opérateurs logiques AND et OR¶
And et OR permettent de vérifier plus d'une condition dans une même clause.
- AND : toutes les conditions doivent être vraies
- OR : au moins une condition doit être vraie
Exmples :
Dans une condition WHERE :
SELECT nomClient, prenomClient
FROM Client
WHERE abonnementClient = 1
AND expirationClient - SYSDATE < 5;
Dans une contrainte CHECK :
CONSTRAINT ck_noSeriePiece CHECK (
noSeriePiece LIKE 'REF-%'
OR noSeriePiece LIKE '%-89')