SQL est la competence la plus universelle du monde data — et celle ou les entretiens sont le plus souvent mal calibres.
Presque tous les candidats data disent maitriser SQL. Ce qui varie enormement, c'est ce que ca signifie reellement.
Vous faites une LEFT JOIN entre commandes et clients. Combien de lignes si un client a passe 5 commandes ? Et si une commande n'a pas de client ?
Un bon profil repond immediatement : 5 lignes pour ce client, et une ligne avec NULL pour le client manquant. Il identifie spontanement le risque de duplication sur une cle non unique.
Signal d'alerte : un candidat qui ne sait pas ce que produit une LEFT JOIN sur une cle non unique a droite est eliminatoire au niveau Confirme.
Calculez en une seule requete le CA total ET le CA pour les commandes > 100 euros, par region.
SELECT region,
SUM(montant) AS ca_total,
SUM(montant) FILTER (WHERE montant > 100) AS ca_sup_100
FROM commandes GROUP BY regionCalculez le CA cumule depuis le debut de l'annee pour chaque ligne, sans reduire le nombre de lignes.
SELECT date_vente, montant,
SUM(montant) OVER (
PARTITION BY YEAR(date_vente)
ORDER BY date_vente
ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
) AS ca_cumule
FROM ventesVotre requete sur 500M lignes prend 8 minutes. Que regardez-vous en premier ?
Qu'est-ce qu'un schema en etoile ? Pourquoi est-il prefere au flocon de neige en analytique ?
| Niveau | Maitrise attendue | Signal GO | NO-GO |
|---|---|---|---|
| Junior | SELECT, WHERE, GROUP BY, jointures de base | Comprend LEFT JOIN sur cas limites, utilise des CTEs | Confond WHERE et HAVING |
| Confirme | CTEs, window functions, CASE WHEN, FILTER | Explique ROW_NUMBER vs RANK avec exemple metier | Ne connait pas les window functions |
| Senior | Optimisation, ROWS BETWEEN, QUALIFY, modelisation | Lit un plan d'execution, pense partitionnement | Utilise SELECT * en production |
| Lead | Architecture, CTEs recursives, tests SQL, standards | A defini les conventions SQL d'equipe | Ne peut pas expliquer un SCD type 2 |
Premier entretien gratuit. Rapport GO/NO-GO sous 48h.