Teradata - Opérateurs logiques et conditionnels
Teradata prend en charge les opérateurs logiques et conditionnels suivants. Ces opérateurs sont utilisés pour effectuer des comparaisons et combiner plusieurs conditions.
Syntaxe | Sens |
---|---|
> | Plus grand que |
< | Moins que |
>= | Plus grand ou égal à |
<= | Inférieur ou égal à |
= | Égal à |
BETWEEN | Si les valeurs dans la plage |
IN | Si les valeurs dans <expression> |
NOT IN | Si les valeurs ne sont pas dans <expression> |
IS NULL | Si la valeur est NULL |
IS NOT NULL | Si la valeur n'est PAS NULL |
AND | Combinez plusieurs conditions. Évalue à vrai uniquement si toutes les conditions sont remplies |
OR | Combinez plusieurs conditions. Évalue à vrai uniquement si l'une des conditions est remplie. |
NOT | Inverse le sens de la condition |
ENTRE
La commande BETWEEN est utilisée pour vérifier si une valeur se trouve dans une plage de valeurs.
Exemple
Considérez le tableau des employés suivant.
Numéro d'employé | Prénom | Nom de famille | JoinedDate | DépartementNon | Date de naissance |
---|---|---|---|---|---|
101 | Mike | James | 27/03/2005 | 1 | 05/01/1980 |
102 | Robert | Williams | 25/04/2007 | 2 | 05/03/1983 |
103 | Peter | Paul | 21/03/2007 | 2 | 01/04/1983 |
104 | Alex | Stuart | 2/1/2008 | 2 | 06/11/1984 |
105 | Robert | James | 1/4/2008 | 3 | 01/12/1984 |
L'exemple suivant récupère les enregistrements avec des numéros d'employés compris entre 101,102 et 103.
SELECT EmployeeNo, FirstName FROM
Employee
WHERE EmployeeNo BETWEEN 101 AND 103;
Lorsque la requête ci-dessus est exécutée, elle renvoie les enregistrements d'employés dont le numéro d'employé est compris entre 101 et 103.
*** Query completed. 3 rows found. 2 columns returned.
*** Total elapsed time was 1 second.
EmployeeNo FirstName
----------- ------------------------------
101 Mike
102 Robert
103 Peter
DANS
La commande IN est utilisée pour vérifier la valeur par rapport à une liste de valeurs donnée.
Exemple
L'exemple suivant récupère les enregistrements avec les numéros d'employés 101, 102 et 103.
SELECT EmployeeNo, FirstName FROM
Employee
WHERE EmployeeNo in (101,102,103);
La requête ci-dessus renvoie les enregistrements suivants.
*** Query completed. 3 rows found. 2 columns returned.
*** Total elapsed time was 1 second.
EmployeeNo FirstName
----------- ------------------------------
101 Mike
102 Robert
103 Peter
PAS DEDANS
La commande NOT IN inverse le résultat de la commande IN. Il récupère les enregistrements dont les valeurs ne correspondent pas à la liste donnée.
Exemple
L'exemple suivant récupère les enregistrements dont les numéros d'employés ne figurent pas dans 101, 102 et 103.
SELECT * FROM
Employee
WHERE EmployeeNo not in (101,102,103);
La requête ci-dessus renvoie les enregistrements suivants.
*** Query completed. 2 rows found. 6 columns returned.
*** Total elapsed time was 1 second.
EmployeeNo FirstName LastName
----------- ------------------------------ -----------------------------
104 Alex Stuart
105 Robert James