Apprenez les bases du SQL avec des exemples pratiques
SQL (Structured Query Language) est un langage de programmation utilisé pour gérer et manipuler des bases de données relationnelles.
Conteneur qui regroupe toutes vos données.
Structure qui contient des données organisées en lignes et colonnes.
Représente un type d'information (ex: Nom, Prénom, Age).
Représente une entrée complète dans la table.
SELECT est la commande la plus utilisée pour récupérer des données.
SELECT colonne1, colonne2
FROM nom_table;
-- 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;
WHERE permet de filtrer les résultats selon des conditions.
-- 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;
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;
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;
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;
JOIN permet de combiner des données de plusieurs tables.
-- 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;
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;
-- 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;
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