Retour à la liste des articles Articles
10 minutes de lecture

Les requêtes SQL que vous utiliserez dans la vie réelle

Apprenez les requêtes SQL essentielles que les analystes de données, les spécialistes du marketing et les équipes de produits utilisent tous les jours - avec des exemples simples et réalistes.

Lorsque vous débutez avec SQL, il est facile de se laisser submerger par la syntaxe et la théorie. Mais voici la vérité : la plupart des professionnels - qu'ils soient analystes de données, spécialistes du marketing ou chefs de produit - utilisent un petit ensemble de requêtes SQL de façon répétée pour effectuer un travail concret. Vous n'avez pas besoin de tout apprendre en même temps.

Cet article vous présente les requêtes SQL essentielles que les débutants utilisent réellement dans le cadre de leur travail. Pas de données abstraites ou de mathématiques compliquées - juste des exemples clairs et adaptés aux débutants, que vous pouvez comprendre et appliquer immédiatement.

Imaginons que vous travailliez avec la base de données d'une librairie en ligne. Vous souhaitez analyser les tables des commandes et des clients pour répondre à des questions commerciales courantes.

Pour apprendre SQL étape par étape - avec des exercices pratiques et des exemples du monde réel - allez à notre coursSQL pour les débutants . Il contient tout ce dont vous avez besoin pour construire une base solide. Le cours comprend 129 exercices interactifs, tous axés sur l'apprentissage pratique. Vous écrirez du vrai code SQL dès le début, obtiendrez un retour d'information instantané et gagnerez en confiance pour utiliser SQL dans votre travail quotidien.

Commençons par les requêtes !

1. Examiner un échantillon de données

La première requête que vous exécuterez dans presque toutes les bases de données est un examen rapide des données elles-mêmes. Vous voulez savoir avec quel type d'informations vous travaillez.

SELECT * 
FROM orders
LIMIT 10;

Cette requête sélectionne toutes les colonnes mais n'affiche que les 10 premières lignes. Elle vous donne un aperçu rapide de la structure de la table orders y compris les colonnes telles que order_id, customer_id, order_date et total_amount. C'est un moyen simple de se familiariser avec votre ensemble de données avant de commencer l'analyse. Il est important de ne pas sélectionner toutes les lignes du tableau, en particulier dans le cas d'ensembles de données volumineux, car cela risque de saturer la base de données. La sélection de 10 ou 20 lignes seulement est un moyen sûr d'obtenir un aperçu des données.

2. Connaître la taille de votre table

La requête suivante est généralement exécutée pour connaître le nombre de lignes d' une table :

SELECT COUNT(*) 
FROM orders;

Cela vous indique le nombre total de commandes de votre entreprise. Il est conseillé d'exécuter cette requête pour toutes les tables avec lesquelles vous envisagez de travailler, afin de connaître la taille de chacune d'entre elles avant de vous lancer dans l'analyse.

3. Voir toutes les valeurs uniques d'une colonne

Ensuite, vous devez vérifier toutes les valeurs uniques d'une colonne, en particulier pour les colonnes "dictionnaire" telles que les noms de ville, les catégories de produits ou les méthodes de paiement. Il s'agit de colonnes dans lesquelles chaque valeur représente une étiquette, un type ou une catégorie, et le fait de comprendre ce qu'elles contiennent vous aide à prendre de meilleures décisions au cours de l'analyse.

Par exemple, pour connaître les différents modes de paiement utilisés :

SELECT DISTINCT payment_method 
FROM orders;

Le mot-clé DISTINCT supprime les doublons des résultats. Au lieu d'afficher la valeur de chaque ligne, il ne renvoie qu'une seule fois chaque valeur unique. Ainsi, si "credit_card" apparaît 5 000 fois dans le tableau, il n'apparaîtra qu'une seule fois dans le résultat.

Cette fonction est utile lorsque vous souhaitez.. :

  • Vérifier la liste complète des options disponibles dans une colonne.
  • Comprendre comment les valeurs sont classées.
  • Préparer le filtrage, le regroupement ou le nettoyage de vos données.

Vous pouvez utiliser DISTINCT avec n'importe quelle colonne pour explorer rapidement la variété des valeurs qu'elle contient.

4. Compter la fréquence d'apparition de chaque valeur

Il s'agit de l'une des requêtes les plus couramment utilisées dans la vie réelle. Elle vous aide à voir la distribution des valeurs dans une colonne - en particulier dans les colonnes "dictionnaire" comme payment_method, category, ou city.

Supposons que vous souhaitiez savoir combien de commandes ont été passées en utilisant chaque méthode de paiement :

SELECT payment_method, COUNT(*) AS num_orders
FROM orders
GROUP BY payment_method;

Cette requête regroupe les lignes par payment_method et compte ensuite le nombre de lignes (c'est-à-dire de commandes) appartenant à chaque groupe. Le résultat indique chaque mode de paiement ainsi que le nombre de commandes qui l'ont utilisé.

Utilisez ce modèle chaque fois que vous souhaitez ventiler vos données par catégorie - par exemple, pour voir combien de commandes proviennent de chaque ville ou combien de produits appartiennent à chaque catégorie.

Pour faciliter la lecture des résultats, vous pouvez les trier par fréquence (de la plus élevée à la plus basse) :

SELECT payment_method, COUNT(*) AS num_orders
FROM orders
GROUP BY payment_method
ORDER BY COUNT(*) DESC;

Cela vous permet de voir rapidement quelles sont les valeurs les plus courantes.

5. Trouver les valeurs minimales, maximales et moyennes

Ensuite, vous voudrez voir l'éventail des valeurs dans une colonne numérique. Cela vous aide à comprendre des éléments tels que la taille de la commande, le prix ou la quantité.

Par exemple, pour vérifier le montant le plus faible, le plus élevé et la moyenne des commandes :

SELECT 
  MIN(total_amount) AS smallest_order,
  MAX(total_amount) AS biggest_order,
  AVG(total_amount) AS average_order
FROM orders;

Cette requête utilise trois fonctions d'agrégation:

  • MIN recherche la plus petite valeur.
  • MAX recherche la valeur la plus élevée.
  • AVG calcule la moyenne.

Elle vous donne un aperçu rapide de la dispersion des valeurs dans la colonne total_amount - utile pour repérer les valeurs aberrantes ou fixer des seuils pour une analyse plus approfondie.

Bonus : vous pouvez décomposer la fourchette par catégorie à l'aide de GROUP BY. Par exemple, pour connaître le montant minimum, maximum et moyen d'une commande par mode de paiement :

SELECT  
  payment_method,  
  MIN(total_amount) AS smallest_order,  
  MAX(total_amount) AS biggest_order,  
  AVG(total_amount) AS average_order  
FROM orders  
GROUP BY payment_method;

Cela vous permet de comparer les performances de différentes catégories - par exemple, quel mode de paiement a tendance à avoir des montants de commande plus élevés ou plus bas.

6. Filtrer les lignes avec WHERE

Parfois, vous n'avez pas besoin de tout le tableau, mais seulement des lignes qui répondent à des conditions spécifiques.

Par exemple, pour ne voir que les commandes de plus de 100 $ :

SELECT *
FROM orders
WHERE total_amount > 100;

Vous pouvez ainsi vous concentrer sur les commandes de grande valeur, ce qui est idéal pour repérer les personnes qui dépensent beaucoup ou pour identifier les clients VIP potentiels.

Vous pouvez également combiner plusieurs conditions à l'aide de AND:

SELECT *
FROM orders
WHERE total_amount > 100
  AND payment_method = 'credit_card';

Vous filtrez maintenant les clients qui ont dépensé plus de 100 $ et payé avec une carte de crédit - il s'agit peut-être de vos utilisateurs les plus précieux.

Le filtrage avec WHERE est l'une des choses les plus utiles que vous ferez en SQL. Il vous aide à répondre à des questions commerciales ciblées, telles que :

  • Qui a effectué des achats importants ?
  • Qui a utilisé un mode de paiement spécifique ?
  • Quelles commandes ont été passées après une certaine date ?

Vous pouvez également utiliser OR, IN, NOT, et d'autres opérateurs pour personnaliser davantage vos filtres - mais WHERE est le point de départ de presque toutes les recherches approfondies de données.

7. Triez vos données avec ORDER BY

Vous voulez voir les commandes les plus importantes en premier ? Vous pouvez trier vos résultats à l'aide de ORDER BY et contrôler la direction avec DESC (pour un ordre décroissant) ou ASC (pour un ordre croissant) :

SELECT *  
FROM orders  
ORDER BY total_amount DESC  
LIMIT 10;

Ceci montre les 10 commandes les plus importantes jamais passées - triées de la plus élevée à la plus basse par total_amount.

Ce type de requête est idéal pour toutes sortes de tâches de tri, telles que :

  • Trouver les résultats les plus élevés ou les plus bas en fonction de n'importe quelle colonne.
  • Classer les articles en fonction des ventes, de la quantité ou de la performance.
  • Détecter les tendances en classant les données dans le temps.
  • Mettre en évidence les valeurs aberrantes ou inhabituelles.

Si vous souhaitez afficher les plus petites commandes, remplacez simplement DESC par ASC:

…
ORDER BY total_amount ASC

Astuce : vous pouvez trier par n'importe quelle colonne, et pas seulement par des nombres. Par exemple, le tri par order_date affiche les commandes les plus récentes ou les plus anciennes, selon le sens du tri.

8. Combiner des tables avec JOIN

L'une des requêtes les plus courantes que vous utiliserez dans la vie réelle est la jointure. En effet, les informations utiles sont souvent réparties entre plusieurs tables. Vous devrez constamment les combiner pour obtenir une vue d'ensemble.

Par exemple, la table des commandes ne contient que l'adresse customer_id, et non le nom du client. Pour voir chaque commande avec le nom de la personne qui l'a passée, vous devez la joindre à la table customers:

SELECT  
  o.order_id,  
  c.customer_name,  
  o.total_amount,  
  o.order_date  
FROM orders o  
JOIN customers c ON o.customer_id = c.customer_id;

Cette requête relie les deux tables en utilisant la colonne customer_id, qui existe dans les deux tables. Nous utilisons des alias de table (o pour orders, c pour customers) pour faciliter la lecture de la requête.

Le résultat ? Un ensemble de données beaucoup plus utile. Vous pouvez désormais savoir qui a passé chaque commande, combien il a dépensé et quand, ce qui est essentiel pour l'analyse des clients, la création de rapports et la connaissance de l'entreprise.

Les JOIN sont omniprésents. Chaque fois que vous travaillez avec de vraies bases de données, vous devez joindre des tables, qu'il s'agisse de commandes et de clients, de produits et de catégories, ou d'utilisateurs et de journaux d'activité.

9. Filtrer par plage de dates

L'une des tâches les plus courantes dans la vie réelle consiste à filtrer les données pour une période spécifique, par exemple en affichant toutes les commandes d'un mois ou d'un trimestre donné.

Supposons que vous souhaitiez voir toutes les commandes passées en mai 2024 :

SELECT *  
FROM orders  
WHERE order_date >= '2025-05-01'  
  AND order_date < '2025-06-01';

Vous obtiendrez toutes les commandes dont la date order_date se situe entre le 1er et le 31 mai 2025 - y compris le 1er mai et jusqu'au 1er juin (non compris).

Le format de date utilisé ici est YYYY-MM-DD:

  • YYYY = année à 4 chiffres (par exemple 2024)
  • MM = mois à 2 chiffres (par exemple 05 pour mai)
  • DD = jour à 2 chiffres (par exemple 01 pour le 1er du mois)

L'utilisation de < '2024-06-01' au lieu de <= '2024-05-31' est plus sûre lorsque votre colonne comprend des valeurs temporelles, comme '2024-05-31 15:42:00', car elle évite d'exclure accidentellement les données du dernier jour.

Dernier conseil : Entraînez-vous sur des données réalistes

La meilleure façon de se souvenir de ces requêtes est de les utiliser. Entraînez-vous avec des données qui ont du sens pour vous, comme des commandes de clients, le trafic d'un blog ou l'utilisation d'une application. Le langage SQL n'a pas besoin d'être écrasant. Vous n'avez pas besoin de centaines de commandes pour effectuer un travail réel, mais seulement d'un petit ensemble de requêtes pratiques sur lesquelles vous pouvez compter tous les jours.

Pour développer votre confiance et votre mémoire musculaire, essayez le coursSQL pour les débutants à l'adresse LearnSQL.fr. Vous y trouverez des exercices pratiques avec des ensembles de données réalistes et 129 exercices interactifs, ce qui vous permettra d'apprendre en écrivant du vrai SQL, et pas seulement en le lisant.

Commencez par les bases ci-dessus et vous serez surpris de voir jusqu'où elles peuvent vous mener.