Les opérateurs logiques permettent d'effectuer des comparaisons sur des expressions SQL.
expression Opérateur [ expression2 ]
A l'instar des opérateur de comparaison symboliques, les opérateurs logiques provoquent le retour d'une valeur booléenne True ou False.
Souvent, les opérateurs logiques ne comparent pas deux expressions, mais une seule par rapport à une valeur déterminée soit par le type de l'opérateur comme IS NULL, soit par un modèle passé en paramètre comme pour liKE.
Les opérateurs logiquesOpérateur |
---|
Description |
Expression1 { =, !=, >, <, <=, >=, !<, !> } ALL (Expression2) |
retourne True si la comparaison entre les expressions Expression1 et Expression2 est True sur toutes les paires (valeur_Expression1, valeur_Expression2). |
Expression1 { =, !=, >, <, <=, >=, !<, !> } ANY | SOME (Expression2) |
retourne True si la comparaison entre les expressions Expression1 et Expression2 est True sur quelques paires (valeur_Expression1, valeur_Expression2). |
Expression_Test [ NOT ] BETWEEN Expression_Début AND Expression_Fin = True | False |
définit un intervalle sur lequel la recherche doit être appliquée. |
EXISTS (Sous-Requête) |
retourne True si l'enregistrement pointé par la sous-requête existe. |
Expression_Test [ NOT ] IN ( Sous-Requête | Expression ) |
retourne True si l'expression correspond ou ne correspond pas (NOT) à une des valeurs pointées par la sous-requête ou l'expression. |
Expression IS [NOT] NULL |
indique si la valeur est nulle ou non-nulle (NOT). |
Expression IS [ NOT ] OF Type_Données |
retourne True si l'expression possède ou ne possède pas (NOT) le type de donnée indiqué. |
Expression [ NOT ] LIKE Modèle [ ESCAPE Caractère_Echappement ] |
retourne True si le modèle correspond à l'expression. Le modèle peut comporter des caractères génériques % (n caractères), _ (un caractère), [Caractères] (ex. : [a-z], [abc]) ou [^Caractères] (ex. : [^a-z], [^xzk]) représentant respectivement une chaîne de zéro à plusieurs caractères, n'importe quels caractères, l'inclusion ou l'exclusion d'un à plusieurs caractères. Le caractère d'échappement permet d'inclure un caractère générique précité dans la mise en correspondance. |
NOT (Expression) |
retourne la valeur booléenne inverse de l'expression. |
UNIQUE (Expression) |
retourne la valeur booléenne True si l'expression ne possède pas de doublons. |
SELECT * FROM tbl_personnel WHERE age BETWEEN 25 AND 35 SELECT * FROM tbl_personnel WHERE email IS NOT NULL SELECT num_secu_soc FROM tbl_personnel WHERE nom LIKE 'M%' SELECT nom_variable FROM application WHERE nom_variable LIKE 'var\_%' ESCAPE '\'; /* introduit le caractère d'échappement '\' afin de rechercher des valeurs de champs avec le caractère réservé '_' SELECT nom, prenom, adresse, code_postal FROM personne AS p WHERE identificateur EXISTS (SELECT num_emp FROM employes) AND 75 = ALL (SELECT dpt FROM employes WHERE num_emp = p.identificateur) ORDER BY nom, prenom SELECT titre, genre, realisateur FROM films AS f WHERE 'Al Pacino' = ANY (SELECT nom FROM acteurs WHERE id_film = f.id_film) SELECT * FROM personne WHERE id_personne IN (SELECT id_client FROM clients) |