Code SQL copié dans le presse-papiers
Cette leçon SQL explique comment combiner plusieurs conditions dans une clause WHERE à l'aide des opérateurs logiques AND, OR et NOT. Vous apprendrez à créer des filtres avancés pour extraire des sous-ensembles précis de données, à gérer la priorité des opérateurs et à utiliser les parenthèses pour garantir la logique correcte. Maîtrisez ces techniques pour affiner vos requêtes et améliorer l'analyse et le reporting.
RU EN PT

Leçon 2.3 : Combiner plusieurs conditions

Combiner plusieurs critères en SQL

Dans la leçon précédente, nous avons vu comment utiliser la clause WHERE avec des opérateurs de comparaison simples. Mais l'analyse de données réelle nécessite souvent de filtrer selon plusieurs critères à la fois. Pour cela, on utilise les opérateurs logiques : AND, OR et NOT.

Les opérateurs logiques

Les opérateurs logiques permettent de relier plusieurs expressions dans une clause WHERE pour créer des filtres plus sophistiqués.

1. L'opérateur AND

AND retourne une ligne seulement si toutes les conditions séparées par AND sont vraies. Il permet de restreindre les résultats.

Exemple (base Sakila) Trouver les films à la fois classés "G" et de moins de 80 minutes :

SELECT title, length, rating
FROM film
WHERE length < 80 AND rating = 'G';

2. L'opérateur OR

OR retourne une ligne si au moins une des conditions séparées par OR est vraie. Il permet d'élargir les résultats.

Exemple (base Sakila) Trouver les acteurs dont le prénom est "NICK" ou "ED" :

SELECT first_name, last_name
FROM actor
WHERE first_name = 'NICK' OR first_name = 'ED';

3. L'opérateur NOT

NOT affiche une ligne si la condition n'est pas vraie. Il inverse la logique d'une condition.

Exemple (base Sakila) Trouver tous les films sauf ceux classés "R" :

SELECT title, rating
FROM film
WHERE NOT rating = 'R';

Priorité des opérateurs

Quand vous combinez plusieurs opérateurs dans une requête (ex. AND et OR), SQL suit un ordre d'évaluation précis :

  1. NOT est évalué en premier.
  2. AND en second.
  3. OR en dernier.

La puissance des parenthèses : Comme en mathématiques, utilisez des parenthèses () pour contrôler l'ordre d'évaluation et rendre vos requêtes plus lisibles.

Exemple (base Sakila)

-- Cette requête trouve les films (classés G OU PG) ET courts
SELECT title, length, rating
FROM film
WHERE (rating = 'G' OR rating = 'PG') AND length < 60;

Points clés de cette leçon :

  • Utilisez AND pour que toutes les conditions soient remplies.
  • Utilisez OR pour trouver des correspondances sur plusieurs critères.
  • Utilisez NOT pour exclure des données spécifiques.
  • Utilisez toujours des parenthèses () quand vous mélangez AND et OR pour éviter les erreurs de logique et améliorer la clarté.

Dans la prochaine leçon, nous apprendrons à trier et limiter les résultats pour organiser vos données plus efficacement.