Opérateur BETWEEN en SQL

Bonjour à tous, futurs magiciens SQL ! Aujourd'hui, nous allons entreprendre un voyage passionnant dans le monde de l'opérateur BETWEEN. En tant que votre enseignant de science informatique bienveillant, je suis là pour vous guider à travers cette aventure avec pleins d'exemples et une touche d'humour. Alors, sortez vos baguettes virtuelles (claviers) et c'est parti !

SQL - BETWEEN Operator

L'Opérateur BETWEEN en SQL

Imaginez que vous organisez une fête et que vous souhaitez inviter des amis dont les âges se situent dans une certaine fourchette. C'est exactement ce que fait l'opérateur BETWEEN en SQL - il nous aide à sélectionner des données dans une plage spécifique. Plongeons dedans !

Syntaxe de Base

SELECT column_name(s)
FROM table_name
WHERE column_name BETWEEN value1 AND value2;

Cela peut sembler un peu intimidant au début, mais ne vous inquiétez pas ! Nous allons le détailler avec des exemples.

Exemple 1 : Sélectionner des Produits dans une Plage de Prix

Supposons que nous avons une table appelée "Products" dans notre base de données de magasin en ligne. Nous voulons trouver tous les produits dont le prix se situe entre 50 et 100 dollars.

SELECT * FROM Products
WHERE Price BETWEEN 50 AND 100;

Cette requête renverra toutes les colonnes (*) de la table Products où le Price est entre 50 et 100 dollars, inclus. C'est comme demander : "Montre-moi tous les produits qui coûtent au moins 50 dollars mais pas plus de 100 dollars."

Exemple 2 : Plages de Dates

L'opérateur BETWEEN n'est pas seulement pour les nombres. Il fonctionne très bien avec les dates aussi ! Supposons que nous avons une table "Orders" et que nous voulons trouver toutes les commandes passées en 2023.

SELECT * FROM Orders
WHERE OrderDate BETWEEN '2023-01-01' AND '2023-12-31';

Cette requête récupère toutes les commandes avec des dates du 1er janvier 2023 au 31 décembre 2023. C'est comme demander à votre base de données : "Quelles commandes avons-nous reçues en 2023 ?"

Opérateur BETWEEN avec l'Opérateur IN

Maintenant, ajoutons un peu de piquant ! Nous pouvons combiner BETWEEN avec l'opérateur IN pour des requêtes plus complexes. Pensez-y comme créer une liste d'invités pour votre fête avec des plages d'âges et des noms spécifiques.

Exemple 3 : Combinaison de BETWEEN et IN

Supposons que nous voulons trouver des employés qui ont entre 25 et 35 ans et travaillent soit dans le département IT, soit dans le département RH.

SELECT * FROM Employees
WHERE (Age BETWEEN 25 AND 35)
AND Department IN ('IT', 'HR');

Cette requête est comme dire : "Montre-moi tous les employés âgés de 25 à 35 ans qui travaillent dans l'IT ou la RH." C'est une excellente façon de resserrer vos critères de recherche.

Opérateur BETWEEN avec l'Instruction UPDATE

Parfois, nous avons besoin de mettre à jour des données dans une plage spécifique. Voyons comment nous pouvons utiliser BETWEEN dans une instruction UPDATE.

Exemple 4 : Mise à Jour des Salaires

Imaginez que nous voulons donner une augmentation de 10 % à tous les employés gagnant entre 50 000 et 70 000 dollars.

UPDATE Employees
SET Salary = Salary * 1.10
WHERE Salary BETWEEN 50000 AND 70000;

Cette requête augmente le salaire de 10 % pour tous les employés dans la plage de salaire spécifiée. C'est comme donner une prime à vos employés de revenu intermédiaire !

Opérateur BETWEEN avec l'Instruction DELETE

L'opérateur BETWEEN peut également être utilisé avec des instructions DELETE lorsque vous avez besoin de supprimer des données dans une plage spécifique.

Exemple 5 : Suppression des Anciens Enregistrements

Supposons que nous voulons supprimer toutes les commandes de 2020 pour nettoyer notre base de données.

DELETE FROM Orders
WHERE OrderDate BETWEEN '2020-01-01' AND '2020-12-31';

Cette requête supprime toutes les commandes passées en 2020. C'est comme faire un nettoyage de printemps numérique pour votre base de données !

Opérateur NOT BETWEEN

Et maintenant, que faire si nous voulons trouver des données en dehors d'une plage spécifique ? C'est là que l'opérateur NOT BETWEEN entre en jeu.

Exemple 6 : Trouver des Produits en dehors d'une Plage de Prix

Trouvons tous les produits qui coûtent soit moins de 20 dollars, soit plus de 100 dollars.

SELECT * FROM Products
WHERE Price NOT BETWEEN 20 AND 100;

Cette requête renvoie tous les produits avec des prix inférieurs à 20 dollars ou supérieurs à 100 dollars. C'est comme demander : "Montre-moi les articles budgétaires et de luxe, mais rien entre les deux."

Opérateur NOT BETWEEN avec IN

Enfin, combinons NOT BETWEEN avec l'opérateur IN pour des requêtes encore plus précises.

Exemple 7 : Requête d'Exclusion Complex

Supposons que nous voulons trouver des employés qui n'ont pas entre 30 et 50 ans et qui ne travaillent pas dans les départements Ventes ou Marketing.

SELECT * FROM Employees
WHERE (Age NOT BETWEEN 30 AND 50)
AND Department NOT IN ('Sales', 'Marketing');

Cette requête trouve des employés qui sont soit en dessous de 30 ans ou au-dessus de 50 ans, et qui ne travaillent pas dans les départements Ventes ou Marketing. C'est comme dire : "Montre-moi les jeunes et les employés chevronnés qui ne sont pas dans nos départements orientés client."

Résumé des Méthodes de l'Opérateur BETWEEN

Voici un tableau pratique résumant les différentes façons dont nous pouvons utiliser l'opérateur BETWEEN :

Méthode Description Exemple
BETWEEN Sélectionne des valeurs dans une plage donnée WHERE Price BETWEEN 50 AND 100
BETWEEN avec Dates Sélectionne des dates dans une plage donnée WHERE OrderDate BETWEEN '2023-01-01' AND '2023-12-31'
BETWEEN avec IN Combine la sélection de plage et de liste WHERE (Age BETWEEN 25 AND 35) AND Department IN ('IT', 'HR')
BETWEEN dans UPDATE Met à jour des valeurs dans une plage UPDATE Employees SET Salary = Salary * 1.10 WHERE Salary BETWEEN 50000 AND 70000
BETWEEN dans DELETE Supprime des enregistrements dans une plage DELETE FROM Orders WHERE OrderDate BETWEEN '2020-01-01' AND '2020-12-31'
NOT BETWEEN Sélectionne des valeurs en dehors d'une plage donnée WHERE Price NOT BETWEEN 20 AND 100
NOT BETWEEN avec IN Combine l'exclusion de plage et de liste WHERE (Age NOT BETWEEN 30 AND 50) AND Department NOT IN ('Sales', 'Marketing')

Et voilà, amis ! Nous avons fait le tour du monde de l'opérateur BETWEEN, des sélections de base aux requêtes complexes. Souvenez-vous, la pratique rend parfait, donc n'ayez pas peur d'expérimenter avec ces requêtes sur vos propres ensembles de données. Bonne chance en SQL, et puissent vos requêtes toujours renvoyer les résultats que vous cherchez !

Credits: Image by storyset