SQL · Fondamentaux

Les requêtes SQL indispensables pour un Data Analyst

Roodeline Germain 2025 Data Analyst · SQL Expert

SQL est le langage fondamental de tout Data Analyst. Maîtriser les bonnes requêtes permet de répondre rapidement aux questions métier, nettoyer les données et alimenter les dashboards. Voici les patterns SQL que j'utilise au quotidien.

Agrégations essentielles

Les fonctions d'agrégation sont la base :

SELECT
  categorie,
  COUNT(*) AS nb_lignes,
  SUM(montant) AS total,
  AVG(montant) AS moyenne,
  MAX(montant) AS maximum
FROM transactions
GROUP BY categorie
HAVING SUM(montant) > 10000
ORDER BY total DESC;

Les JOINs pour croiser les tables

Les jointures permettent de croiser plusieurs tables :

SELECT
  c.nom_client,
  COUNT(v.id) AS nb_achats,
  SUM(v.montant) AS ca_total
FROM clients c
LEFT JOIN ventes v ON c.id = v.client_id
GROUP BY c.nom_client
ORDER BY ca_total DESC NULLS LAST;

Fonctions fenêtres (Window Functions)

Les window functions sont très puissantes pour les analyses temporelles :

SELECT
  date,
  montant,
  SUM(montant) OVER (ORDER BY date) AS cumul,
  AVG(montant) OVER (
    ORDER BY date
    ROWS BETWEEN 6 PRECEDING AND CURRENT ROW
  ) AS moy_mobile_7j
FROM ventes;

CTEs pour des requêtes lisibles

Les Common Table Expressions rendent les requêtes complexes lisibles :

WITH clients_actifs AS (
  SELECT client_id, SUM(montant) as ca
  FROM ventes
  WHERE date >= DATEADD(month,-3,GETDATE())
  GROUP BY client_id
)
SELECT c.nom, ca.ca
FROM clients c
JOIN clients_actifs ca ON c.id = ca.client_id;

Détecter les anomalies et doublons

SQL est très efficace pour détecter les problèmes de qualité :

-- Doublons
SELECT id, COUNT(*) FROM table
GROUP BY id HAVING COUNT(*) > 1;

-- Valeurs nulles
SELECT COUNT(*) - COUNT(colonne) AS nb_nulls
FROM table;

Conclusion

Ces patterns SQL couvrent l'essentiel des besoins quotidiens d'un Data Analyst. La maîtrise de SQL — en particulier les window functions et les CTEs — permet de répondre à des questions métier complexes avec efficacité et précision.

← Retour au blog
RG
Roodeline Germain
Data Analyst · SQL Expert