Filtres WHERE : opérateurs de comparaison et de logique
Filtrez les lignes avec =, <>, , AND, OR et NOT, puis comprenez la priorité des opérateurs et l’utilisation des parenthèses.
Filtres WHERE : opérateurs de comparaison et de logique est une leçon SQL Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage SQL Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours SQL Academy comprend 4 leçons au total.
Le rôle de WHERE
WHERE filtre les lignes avant le regroupement ou l'agrégation. Seules les lignes dont le prédicat vaut TRUE sont renvoyées.
Opérateurs de comparaison
Les comparaisons standard fonctionnent avec tous les types comparables :
SELECT * FROM products WHERE price > 100;
SELECT * FROM products WHERE price >= 100;
SELECT * FROM products WHERE price < 50;
SELECT * FROM products WHERE price <= 50;
SELECT * FROM products WHERE category = 'books';
SELECT * FROM products WHERE category <> 'books'; -- != also worksAND, OR, NOT
Combinez les prédicats avec des opérateurs logiques :
-- Both true:
SELECT * FROM products
WHERE category = 'books' AND price < 50;
-- Either true:
SELECT * FROM products
WHERE category = 'books' OR category = 'music';
-- Negation:
SELECT * FROM products
WHERE NOT (category = 'books');Priorité des opérateurs
Priorité, de la plus élevée à la plus faible : NOT → AND → OR. Mettez toujours les prédicats complexes entre parenthèses pour plus de clarté :
-- Without parens — almost certainly wrong:
SELECT * FROM orders
WHERE status = 'open' OR status = 'pending' AND total > 100;
-- means: status = open OR (status = pending AND total > 100)
-- With parens — clearer:
SELECT * FROM orders
WHERE (status = 'open' OR status = 'pending') AND total > 100;IN et NOT IN
Raccourci pour plusieurs opérateurs OR :
SELECT * FROM users
WHERE country IN ('US', 'CA', 'GB', 'AU');
-- Equivalent to:
SELECT * FROM users
WHERE country = 'US' OR country = 'CA' OR country = 'GB' OR country = 'AU';BETWEEN
Vérification d'un intervalle inclusif :
SELECT * FROM orders
WHERE total BETWEEN 100 AND 500;
-- Equivalent to: total >= 100 AND total <= 500Filtres compatibles avec NULL
Les comparaisons avec NULL produisent NULL (et non FALSE), et les lignes contenant NULL sont éliminées par WHERE. Utilisez explicitement IS NULL / IS NOT NULL lorsque cela est nécessaire :
-- Returns users where deleted_at is unknown:
SELECT * FROM users WHERE deleted_at IS NULL;
-- IS DISTINCT FROM treats NULL as a comparable value:
SELECT * FROM events WHERE status IS DISTINCT FROM 'closed';Colonnes booléennes
Une colonne BOOLEAN ne nécessite aucune comparaison :
SELECT * FROM tasks WHERE done; -- = TRUE
SELECT * FROM tasks WHERE NOT done; -- = FALSE or NULL
SELECT * FROM tasks WHERE done IS NOT TRUE; -- FALSE or NULL onlyRecherche par motif avec LIKE
% correspond à n’importe quelle chaîne, et _ correspond exactement à un caractère :
SELECT * FROM users WHERE email LIKE '%@gmail.com';
SELECT * FROM products WHERE sku LIKE 'A_-___';
-- Case-insensitive in PostgreSQL:
SELECT * FROM users WHERE email ILIKE '%@GMAIL.com';Filtres et performances
Les clauses WHERE sont l’endroit où les index révèlent leur utilité. Les filtres d’égalité (=) et d’intervalle (<, BETWEEN) appliqués à des colonnes indexées transforment les parcours complets de table en recherches qui s’effectuent en quelques millisecondes.
Ordre d’évaluation
Logiquement, la base de données évalue les éléments dans cet ordre : FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY → LIMIT. Ainsi, WHERE voit les lignes brutes ; les alias de colonne de SELECT ne sont pas encore définis.
-- This fails — alias not visible in WHERE:
SELECT total * 0.9 AS discounted
FROM orders WHERE discounted > 100; -- ERROR
-- Repeat the expression instead, or wrap in a subquery.Récapitulatif
WHERE est votre principal outil pour sélectionner des lignes.
- Opérateurs de comparaison et logiques standard
- Mettez entre parenthèses les combinaisons de AND et OR
- Utilisez IS NULL — jamais = NULL
- WHERE est rapide sur les colonnes indexées
Vérification rapide
Quel prédicat conserve uniquement les lignes où l’âge est supérieur ou égal à 18 et où le pays est US ?
Apprends SQL avec un tuteur IA — gratuit
Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.
- Cours
- 46
- Leçons
- 183
Questions Fréquemment Posées
La leçon « Filtres WHERE : opérateurs de comparaison et de logique » est-elle gratuite ?
Oui — le texte complet de « Filtres WHERE : opérateurs de comparaison et de logique » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours SQL Academy, passe à CoddyKit PRO. Le cours SQL Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Filtres WHERE : opérateurs de comparaison et de logique » ?
Filtrez les lignes avec =, <>, , AND, OR et NOT, puis comprenez la priorité des opérateurs et l’utilisation des parenthèses. Tu pratiques SQL Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer SQL Academy ?
Aucune expérience préalable n'est requise. SQL Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.
Combien de temps prend la leçon « Filtres WHERE : opérateurs de comparaison et de logique » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon SQL Academy ?
Oui. Chaque leçon SQL Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Sélectionner des colonnes et des expressions
- Filtres WHERE : opérateurs de comparaison et de logique
- ORDER BY sur une ou plusieurs colonnes
- LIMIT, OFFSET et bases de la pagination