SQL pour Débutants

Apprenez les bases du SQL avec des exemples pratiques

Par Yann Danneels-Coignard - Data Analyst

1 Qu'est-ce que SQL ?

SQL (Structured Query Language) est un langage de programmation utilisé pour gérer et manipuler des bases de données relationnelles.

À quoi ça sert ?

2 Concepts de base

Base de données (Database)

Conteneur qui regroupe toutes vos données.

Table

Structure qui contient des données organisées en lignes et colonnes.

Colonne (Champ)

Représente un type d'information (ex: Nom, Prénom, Age).

Ligne (Enregistrement)

Représente une entrée complète dans la table.

3 La commande SELECT

SELECT est la commande la plus utilisée pour récupérer des données.

Syntaxe de base :

SELECT colonne1, colonne2 FROM nom_table;

Exemples pratiques :

-- Sélectionner toutes les colonnes SELECT * FROM clients; -- Sélectionner des colonnes spécifiques SELECT nom, prenom, email FROM clients; -- Sélectionner avec un alias SELECT nom AS Nom_Client, email AS Email_Contact FROM clients;

4 Filtrer avec WHERE

WHERE permet de filtrer les résultats selon des conditions.

Exemples :

-- Clients de Paris SELECT * FROM clients WHERE ville = 'Paris'; -- Clients avec plus de 1000€ de commandes SELECT * FROM commandes WHERE montant > 1000; -- Plusieurs conditions avec AND SELECT * FROM clients WHERE ville = 'Paris' AND age > 30; -- Conditions avec OR SELECT * FROM produits WHERE categorie = 'Électronique' OR prix < 50;

5 Trier avec ORDER BY

ORDER BY permet de trier les résultats.

-- Trier par montant croissant SELECT * FROM commandes ORDER BY montant ASC; -- Trier par date décroissante SELECT * FROM commandes ORDER BY date_commande DESC; -- Trier par plusieurs colonnes SELECT * FROM clients ORDER BY ville ASC, nom ASC;

6 Agrégations : COUNT, SUM, AVG

Les fonctions d'agrégation permettent de calculer des statistiques.

-- Compter le nombre de clients SELECT COUNT(*) AS nombre_clients FROM clients; -- Somme des ventes SELECT SUM(montant) AS total_ventes FROM commandes; -- Moyenne des montants SELECT AVG(montant) AS moyenne_commande FROM commandes; -- Maximum et minimum SELECT MAX(montant) AS commande_max, MIN(montant) AS commande_min FROM commandes;

7 GROUP BY : Grouper les données

GROUP BY permet de regrouper les données et calculer des statistiques par groupe.

-- Ventes par ville SELECT ville, SUM(montant) AS total_ventes FROM commandes GROUP BY ville; -- Nombre de commandes par client SELECT client_id, COUNT(*) AS nb_commandes FROM commandes GROUP BY client_id; -- Moyenne des ventes par catégorie SELECT categorie, AVG(prix) AS prix_moyen FROM produits GROUP BY categorie;

8 JOIN : Joindre des tables

JOIN permet de combiner des données de plusieurs tables.

Types de JOIN :

-- Joindre clients et commandes SELECT c.nom, c.prenom, co.montant, co.date_commande FROM clients c INNER JOIN commandes co ON c.id = co.client_id; -- LEFT JOIN pour voir tous les clients même sans commande SELECT c.nom, c.prenom, co.montant FROM clients c LEFT JOIN commandes co ON c.id = co.client_id;

9 HAVING : Filtrer les groupes

HAVING permet de filtrer les résultats après GROUP BY.

-- Villes avec plus de 10 clients SELECT ville, COUNT(*) AS nb_clients FROM clients GROUP BY ville HAVING COUNT(*) > 10; -- Clients avec plus de 1000€ de commandes totales SELECT client_id, SUM(montant) AS total FROM commandes GROUP BY client_id HAVING SUM(montant) > 1000;

10 Requêtes complexes : Exemple complet

-- Top 5 des clients par chiffre d'affaires SELECT c.nom, c.prenom, SUM(co.montant) AS total_achats, COUNT(co.id) AS nb_commandes FROM clients c INNER JOIN commandes co ON c.id = co.client_id WHERE co.date_commande >= '2025-01-01' GROUP BY c.id, c.nom, c.prenom HAVING SUM(co.montant) > 500 ORDER BY total_achats DESC LIMIT 5;

11 Outils pour pratiquer

Gratuits :

Pour Excel/Power BI :

Besoin d'aide pour vos requêtes SQL ?

Je peux vous aider à créer des requêtes SQL pour analyser vos données.

Me contacter

Retour à l'accueil