SQL - Opérateurs

Bienvenue, futurs magiciens des bases de données ! Aujourd'hui, nous plongeons dans le monde magique des opérateurs SQL. Ne vous inquiétez pas si vous n'avez jamais écrit une ligne de code auparavant - nous allons commencer depuis le début et progresser pas à pas. À la fin de ce tutoriel, vous serez capable de invoquer des données comme les meilleurs d'entre eux !

SQL - Operators

Qu'est-ce qu'un opérateur SQL ?

Commençons par les bases. Un opérateur SQL est comme un outil spécial dans votre boîte à outils de base de données. Il vous aide à effectuer des opérations sur vos données, que vous compariez des valeurs, fassiez des calculs ou combiniez des informations. Pensez aux opérateurs comme aux verbes dans vos phrases SQL - ils font que les choses arrivent !

Par exemple, lorsque vous dites "Je veux tous les clients dont l'âge est supérieur à 30", la partie "supérieur à" est un opérateur. Il indique à la base de données comment filtrer vos données.

Types d'opérateurs en SQL

Maintenant, explorons les différents types d'opérateurs en SQL. Nous les classerons et fournirons des exemples pour chacun. Attachez vos ceintures, car nous allons faire une montagne russe à travers le parc des opérateurs !

1. Opérateurs arithmétiques

Ces opérateurs vous aident à faire des calculs avec vos données. Voici un tableau des opérateurs arithmétiques :

Opérateur Description Exemple
+ Addition 5 + 3 = 8
- Soustraction 7 - 2 = 5
* Multiplication 4 * 6 = 24
/ Division 15 / 3 = 5
% Modulo (reste) 17 % 5 = 2

Voyons ces opérateurs en action :

SELECT product_name, price, price * 1.1 AS price_with_tax
FROM products;

Dans cet exemple, nous calculons un nouveau prix qui inclut une taxe de 10 %. L'opérateur * multiplie le prix original par 1.1.

2. Opérateurs de comparaison

Ces opérateurs vous aident à comparer des valeurs. Ils sont super utiles pour filtrer les données. Voici un tableau des opérateurs de comparaison :

Opérateur Description Exemple
= Égal à age = 30
<> Différent de status <> 'Completed'
> Supérieur à price > 100
< Inférieur à quantity < 5
>= Supérieur ou égal à rating >= 4
<= Inférieur ou égal à discount <= 0.2

Utilisons ces opérateurs dans une requête :

SELECT customer_name, age
FROM customers
WHERE age > 30 AND status = 'Active';

Cette requête trouve tous les clients actifs de plus de 30 ans. L'opérateur > vérifie les âges supérieurs à 30, et l'opérateur = s'assure que le statut est exactement 'Active'.

3. Opérateurs logiques

Les opérateurs logiques vous aident à combiner plusieurs conditions. Ils sont comme la colle qui tient vos requêtes complexes ensemble. Voici un tableau des opérateurs logiques :

Opérateur Description
AND Vrai si les deux conditions sont vraies
OR Vrai si l'une des conditions est vraie
NOT Inverse le résultat d'une condition

Voyons comment les utiliser :

SELECT product_name, price, category
FROM products
WHERE (category = 'Electronics' OR category = 'Computers')
AND price < 1000
AND NOT discontinued;

Cette requête trouve les produits des catégories Electroniques ou Ordinateurs, au prix inférieur à 1000$, et non discontinués. C'est comme dire à la base de données : "Donne-moi tous les gadgets cool qui ne cassent pas la banque et qui sont toujours disponibles !"

4. Opérateur LIKE

L'opérateur LIKE est votre meilleur ami lorsque vous cherchez des motifs dans les données textuelles. Il utilise des caractères de remplacement pour matcher des parties de chaînes :

  • % : Correspond à n'importe quel nombre de caractères
  • _ : Correspond à un seul caractère

Voici un exemple :

SELECT customer_name, email
FROM customers
WHERE email LIKE '%@gmail.com';

Cette requête trouve tous les clients avec des adresses Gmail. Le % correspond à n'importe quelles caractères avant '@gmail.com'.

5. Opérateur IN

L'opérateur IN est un moyen abrege pour combiner plusieurs conditions OR. Il est super pratique lorsque vous cherchez des correspondances dans une liste de valeurs.

SELECT product_name, category
FROM products
WHERE category IN ('Books', 'Movies', 'Music');

Cette requête récupère tous les produits des catégories Livres, Films ou Musique. C'est beaucoup plus propre que d'écrire category = 'Books' OR category = 'Movies' OR category = 'Music'.

6. Opérateur BETWEEN

L'opérateur BETWEEN vous aide à trouver des valeurs dans une plage. Il est inclusif, ce qui signifie qu'il inclut les valeurs limites.

SELECT order_id, order_date, total_amount
FROM orders
WHERE order_date BETWEEN '2023-01-01' AND '2023-12-31';

Cette requête trouve toutes les commandes passées en 2023. C'est comme dire : "Montre-moi tout, du Jour de l'An à la Veille de l'An !"

Précedence des opérateurs SQL

Maintenant que nous avons rencontré tous ces merveilleux opérateurs, il est important de savoir comment SQL décide lequel évaluer en premier lorsque vous utilisez plusieurs opérateurs dans une seule requête. Cela s'appelle la précedence des opérateurs.

Voici un tableau simplifié de la précedence des opérateurs SQL, de la plus haute à la plus basse :

  1. Parenthèses ()
  2. Multiplication/Division (*, /)
  3. Addition/Soustraction (+, -)
  4. Opérateurs de comparaison (=, <>, <, >, <=, >=)
  5. NOT
  6. AND
  7. OR

Voyons cela en action :

SELECT product_name, price, category
FROM products
WHERE category = 'Electronics' AND (price < 500 OR rating > 4);

Dans cette requête, SQL :

  1. Évalue les conditions à l'intérieur des parenthèses d'abord (price < 500 OR rating > 4)
  2. Ensuite applique l'opérateur AND avec la condition de catégorie

Cela nous donne tous les produits électroniques qui sont soit en dessous de 500$, soit avec une note au-dessus de 4.

Souvenez-vous, vous pouvez toujours utiliser des parenthèses pour contrôler explicitement l'ordre des opérations si vous n'êtes pas sûr ou si vous voulez surcharger la priorité par défaut.

Et voilà, les amis ! Vous avez vient de terminer votre cours accéléré sur les opérateurs SQL. Avec ces outils dans votre ceinture, vous êtes bien sur le chemin pour devenir un maître de la manipulation des données. Souvenez-vous, la pratique rend parfait, donc n'ayez pas peur d'expérimenter avec ces opérateurs dans vos propres requêtes. Bon codage !

Credits: Image by storyset