BETWEEN, IN, LIKE, IS NULL
SQL offre des opérateurs spéciaux pour simplifier certaines conditions courantes.
Vérifie si une valeur est comprise dans un intervalle (bornes incluses).
SELECT nom, prenom, salaire
FROM EMPLOYES
WHERE salaire BETWEEN 40000 AND 60000;
Équivalent à : WHERE salaire >= 40000 AND salaire <= 60000
Vérifie si une valeur appartient à une liste.
SELECT nom, prenom, dept_id
FROM EMPLOYES
WHERE dept_id IN (10, 20, 30);
Équivalent à : WHERE dept_id = 10 OR dept_id = 20 OR dept_id = 30
Recherche des chaînes correspondant à un motif.
% : remplace 0, 1 ou plusieurs caractères_ : remplace exactement 1 caractère-- Noms commençant par 'D'
SELECT nom, prenom FROM EMPLOYES
WHERE nom LIKE 'D%';
-- Noms de 5 lettres commençant par 'M'
SELECT nom FROM EMPLOYES
WHERE nom LIKE 'M____';
-- Emails contenant 'gmail'
SELECT nom, email FROM EMPLOYES
WHERE email LIKE '%gmail%';
Teste si une valeur est NULL.
-- Employés sans commission
SELECT nom, prenom, commission
FROM EMPLOYES
WHERE commission IS NULL;
-- Employés avec commission
SELECT nom, prenom, commission
FROM EMPLOYES
WHERE commission IS NOT NULL;
= NULL. Il FAUT utiliser IS NULL.
WHERE UPPER(nom) LIKE 'DUP%'
BETWEEN simplifie la condition avec deux bornes incluses.
LIKE avec % permet de chercher des débuts de chaînes.