Comment combiner conditions logiques (AND, OR, NOT) et comparaisons dans une requête ?
Filtrer les lignes d'une table selon plusieurs conditions simultanées ou alternatives.
Soit la table Produit(id_produit INTEGER, nom TEXT, prix INTEGER). Sélectionner les produits dont le prix est compris entre 50 et 100 euros (bornes incluses).
Filtrer les lignes d'une table selon plusieurs conditions simultanées ou alternatives.
Une condition WHERE est une expression booléenne : AND impose que les deux conditions soient vraies, OR qu'au moins l'une le soit, NOT inverse la valeur de vérité ; on les combine avec les comparaisons =, <>, <, <=, >, >=.
AND (toutes vraies), OR (au moins une vraie) ou NOT (négation), en utilisant des parenthèses pour lever toute ambiguïté.WHERE dans la requête SELECT ... FROM ... WHERE ....Soit la table Produit(id_produit INTEGER, nom TEXT, prix INTEGER). Sélectionner les produits dont le prix est compris entre 50 et 100 euros (bornes incluses).
Conditions élémentaires : prix >= 50 et prix <= 100.
AND (toutes vraies), OR (au moins une vraie) ou NOT (négation), en utilisant des parenthèses pour lever toute ambiguïté.Les deux conditions doivent être vraies en même temps : on les relie par AND, ce qui donne prix >= 50 AND prix <= 100.
WHERE dans la requête SELECT ... FROM ... WHERE ....J'écris : SELECT * FROM Produit WHERE prix >= 50 AND prix <= 100;.
Vérification : un produit à 75 euros vérifie bien , donc il est sélectionné. La requête finale est :
SELECT * FROM Produit WHERE prix >= 50 AND prix <= 100;
SELECT * FROM Produit WHERE prix >= 50 AND prix <= 100;
Soit la table Client(id_client INTEGER, nom TEXT, ville TEXT). Sélectionner les clients qui habitent à Paris ou à Lyon.
Soit la table Employe(matricule INTEGER, nom TEXT, salaire INTEGER, id_service INTEGER). Sélectionner les employés gagnant strictement plus de 2000 euros et qui ne travaillent pas dans le service d'identifiant 3.
Soit la table Stock(id_stock INTEGER, id_produit INTEGER, quantite INTEGER). Sélectionner les stocks pour lesquels la quantité est nulle ou strictement supérieure à 100.
Soit la table Livre(id_livre INTEGER, titre TEXT, annee INTEGER, pages INTEGER). Sélectionner les titres des livres publiés entre 2010 et 2020 (inclus) et de plus de 300 pages.
Crée ton compte pour accéder à la fiche et aux exercices