Les opérateurs en SQL
Un opérateur est un mot réservé ou un caractère utilisé principalement dans la clause WHERE d'une instruction SQL pour effectuer des opérations, telles que des comparaisons et des opérations arithmétiques.
Ces opérateurs sont utilisés pour spécifier des conditions dans une instruction SQL et pour servir de conjonctions pour plusieurs conditions.
Les trois grandes catégories
- Opérateurs arithmétiques
- Opérateurs de comparaison
- Opérateurs logiques
1. Opérateurs arithmétiques
Les opérateurs arithmétiques permettent d'effectuer des calculs mathématiques sur les colonnes numériques.
| Opérateur | Description | Exemple |
|---|---|---|
+ (Addition) | Ajoute des valeurs de chaque côté de l'opérateur | Salaire + 1000 |
- (Soustraction) | Soustrait l'opérande droit de l'opérande gauche | Salaire - 500 |
* (Multiplication) | Multiplie les valeurs de chaque côté de l'opérateur | Salaire * 1.1 (augmentation de 10%) |
/ (Division) | Divise l'opérande gauche par l'opérande droit | Salaire / 12 (salaire mensuel) |
% (Modulo) | Divise l'opérande gauche par l'opérande droit et renvoie le reste | Age % 10 (dernier chiffre de l'âge) |
Exemple n°1
Calculer le salaire annuel des employés (salaire mensuel × 12).
SELECT Nom, Salaire, Salaire * 12 AS Salaire_Annuel FROM Employes;2. Opérateurs de comparaison
Les opérateurs de comparaison sont utilisés dans la clause WHERE pour comparer une expression à une autre.
| Opérateur | Description |
|---|---|
= | Égal à |
!= ou <> | Différent de |
> | Supérieur à |
< | Inférieur à |
>= | Supérieur ou égal à |
<= | Inférieur ou égal à |
!< | Non inférieur à (équivalent à >=) |
!> | Non supérieur à (équivalent à <=) |
Exemple n°2
Sélectionner les employés avec un salaire supérieur à 7000.
SELECT * FROM Employes WHERE Salaire > 7000;3. Opérateurs logiques
Les opérateurs logiques permettent de combiner plusieurs conditions ou de tester des valeurs particulières (NULL, présence dans une liste, etc.).
Opérateurs logiques courants
| Opérateur | Description |
|---|---|
ALL | Compare une valeur à toutes les valeurs d'un autre ensemble |
ANY | Compare une valeur à n'importe quelle valeur de la liste |
BETWEEN | Recherche les valeurs comprises entre un minimum et un maximum |
EXISTS | Vérifie l'existence d'une ligne répondant à un critère |
IN | Compare une valeur à une liste de valeurs |
LIKE | Compare une valeur à un motif (avec % et _) |
NOT | Négation d'un opérateur (NOT IN, NOT LIKE, etc.) |
AND | Combine plusieurs conditions (toutes doivent être vraies) |
OR | Combine plusieurs conditions (au moins une doit être vraie) |
IS NULL | Teste si une valeur est NULL |
UNIQUE | Vérifie l'unicité des lignes (pas de doublons) |
Exemples d'utilisation
Exemple n°3
Utilisation de BETWEEN (âge entre 25 et 30 ans).
SELECT * FROM Employes WHERE Age BETWEEN 25 AND 30;Exemple n°4
Utilisation de IN (départements 1, 2 ou 3).
SELECT * FROM Employes WHERE Dep IN (1, 2, 3);Exemple n°5
Utilisation de LIKE (nom commençant par "M").
SELECT * FROM Employes WHERE Nom LIKE 'M%';Exemple n°6
Utilisation de IS NULL (employés sans département).
SELECT * FROM Employes WHERE Dep IS NULL;Exemple n°7
Combinaison AND/OR (salaire > 7000 ET (département 1 OU 2)).
SELECT * FROM Employes WHERE Salaire > 7000 AND (Dep = 1 OR Dep = 2);Récapitulatif
| Catégorie | Opérateurs | Utilisation |
|---|---|---|
| Arithmétiques | +, -, *, /, % | Calculs sur les colonnes numériques |
| Comparaison | =, !=, <>, >, <, >=, <=, !<, !> | Comparer des valeurs |
| Logiques | AND, OR, NOT, BETWEEN, IN, LIKE, IS NULL, EXISTS, ANY, ALL, UNIQUE | Conditions complexes et tests spéciaux |
Utilisation des opérateurs
En utilisant une table Employes (Id, Nom, Age, Salaire, Dep), écrivez les requêtes SQL pour :
- Sélectionner les employés dont le salaire est compris entre 6000 et 8000.
- Sélectionner les employés dont le nom commence par "M".
- Sélectionner les employés des départements 1 ou 3 avec un âge supérieur à 25.
- Sélectionner les employés qui n'ont pas de département (Dep IS NULL).
- Salaire entre 6000 et 8000 :
SELECT * FROM Employes WHERE Salaire BETWEEN 6000 AND 8000; - Nom commençant par "M" :
SELECT * FROM Employes WHERE Nom LIKE 'M%'; - Département 1 ou 3 ET âge > 25 :
SELECT * FROM Employes WHERE (Dep = 1 OR Dep = 3) AND Age > 25; - Département NULL :
SELECT * FROM Employes WHERE Dep IS NULL;
- Les opérateurs se divisent en trois catégories : arithmétiques, comparaison et logiques.
- Les opérateurs arithmétiques (+, -, *, /, %) effectuent des calculs.
- Les opérateurs de comparaison (=, !=, <, >, etc.) comparent des valeurs.
- Les opérateurs logiques (AND, OR, NOT, BETWEEN, IN, LIKE, IS NULL) combinent des conditions.
- BETWEEN est inclusif (bornes comprises).
- LIKE utilise % (séquence) et _ (un caractère) pour les motifs.
- IN vérifie l'appartenance à une liste.
- IS NULL est la seule façon correcte de tester NULL (pas = NULL).
- On peut combiner AND et OR avec des parenthèses pour contrôler l'ordre.
Discussion (0)
Soyez le premier à laisser un commentaire !
Laisser un commentaire
Votre commentaire sera visible après modération.