SQL - Opérateurs de conjonction AND et OR
Bonjour à tous, futurs maîtres de SQL ! Bienvenue dans notre leçon sur les opérateurs AND et OR en SQL. Je suis ravi de vous guider dans cette aventure, et je promets, à la fin de ce tutoriel, vous manipulerez ces opérateurs comme un pro. Alors, plongeons dedans !
L'opérateur AND en SQL
L'opérateur AND est comme le parent strict des opérateurs logiques. Il ne renvoie true que lorsque toutes les conditions sont remplies. Pensez à lui comme un mangeur difficile qui n'apprécie un repas que si chaque ingrédient lui convient.
Regardons un exemple simple :
SELECT * FROM Students
WHERE age > 18 AND grade = 'A';
Cette requête dit : "Montre-moi tous les étudiants qui ont plus de 18 ans ET une note A." C'est comme demander l'étudiant parfait !
Voici un exemple plus complexe :
SELECT product_name, price, stock_quantity
FROM Products
WHERE price < 50 AND stock_quantity > 100 AND category = 'Electronics';
Cette requête cherche des produits électroniques abordables et bien en stock. C'est comme chasser le bon plan dans un magasin !
Utilisation multiple de l'opérateur AND
Vous pouvez chaîner plusieurs opérateurs AND pour créer un filtre très spécifique. C'est comme construire un sandwich avec de nombreuses couches - chaque couche (condition) doit être présente pour que la requête renvoie des résultats.
SELECT * FROM Employees
WHERE department = 'Sales'
AND years_of_experience > 5
AND salary < 75000
AND performance_rating = 'Excellent';
Cette requête recherche des employés expérimentés et performants dans le département des ventes qui pourraient mériter une augmentation. C'est comme un patron cherchant le candidat parfait pour une promotion !
AND avec d'autres opérateurs logiques
AND peut être combiné avec d'autres opérateurs comme OR et NOT pour créer des conditions complexes. Regardons un exemple :
SELECT * FROM Cars
WHERE (make = 'Toyota' OR make = 'Honda')
AND year > 2015
AND (color = 'Red' OR color = 'Blue');
Cette requête cherche des voitures Toyota ou Honda récentes qui sont soit rouges, soit bleues. C'est comme un acheteur de voitures très particulier !
AND avec l'instruction UPDATE
AND n'est pas seulement pour les requêtes SELECT. Il est également utile dans les instructions UPDATE lorsque vous souhaitez modifier des enregistrements spécifiques :
UPDATE Products
SET price = price * 1.1
WHERE category = 'Electronics'
AND stock_quantity < 50
AND last_order_date < '2023-01-01';
Cette requête augmente le prix des produits électroniques qui sont en faible stock et n'ont pas été commandés récemment. C'est comme un gestionnaire de magasin ajustant les prix en fonction de la demande !
L'opérateur OR en SQL
Si AND est le parent strict, OR est le parent indulgent. Il renvoie true si l'une des conditions est remplie. C'est comme un critique gastronomique qui est satisfait si un seul plat du repas est bon.
Voici un exemple simple :
SELECT * FROM Customers
WHERE country = 'USA' OR country = 'Canada';
Cette requête récupère tous les clients des USA ou du Canada. Elle jette un filet plus large que ce que ferait AND.
Utilisation multiple de l'opérateur OR
Comme AND, vous pouvez chaîner plusieurs conditions OR :
SELECT * FROM Books
WHERE genre = 'Science Fiction'
OR genre = 'Fantasy'
OR genre = 'Mystery'
OR author = 'Stephen King';
Cette requête cherche des livres qui s'inscrivent dans plusieurs genres populaires ou sont écrits par un auteur spécifique. C'est comme feuilleter la section "Choix populaires" d'une librairie !
OR avec l'opérateur AND
Combiner OR et AND peut créer des requêtes puissantes. N'oubliez pas d'utiliser des parenthèses pour regrouper correctement vos conditions :
SELECT * FROM Restaurants
WHERE (cuisine = 'Italian' OR cuisine = 'French')
AND price_range <= 3
AND rating >= 4;
Cette requête cherche des restaurants italiens ou français bien notés et abordables. C'est parfait pour planifier un dîner agréable !
OR avec l'instruction DELETE
OR peut également être utilisé dans les instructions DELETE pour supprimer des enregistrements qui remplissent l'une de plusieurs conditions :
DELETE FROM Inventory
WHERE (expiry_date < CURRENT_DATE)
OR (stock_quantity = 0 AND last_sold_date < DATE_SUB(CURRENT_DATE, INTERVAL 6 MONTH));
Cette requête supprime les articles qui sont soit périmés, soit en rupture de stock depuis plus de six mois. C'est comme un gestionnaire de magasin nettoyant la base de données de l'inventaire !
Voici un tableau résumant les points clés sur les opérateurs AND et OR :
Opérateur | Description | Cas d'utilisation | Exemple |
---|---|---|---|
AND | Renvoie true lorsque toutes les conditions sont true | Réduire les résultats | WHERE age > 18 AND grade = 'A' |
OR | Renvoie true lorsque l'une des conditions est true | Élargir les critères de recherche | WHERE country = 'USA' OR country = 'Canada' |
Souvenez-vous, la clé pour maîtriser ces opérateurs est la pratique. Essayez d'écrire vos propres requêtes, expérimentez avec différentes combinaisons, et bientôt vous serez capable de rédiger des déclarations SQL complexes avec facilité !
J'espère que ce tutoriel vous a éclairé sur le monde des opérateurs AND et OR. Continuez à coder, continuez à apprendre, et surtout, continuez à enjoyment de votre voyage dans SQL !
Credits: Image by storyset