Leçon 1Techniques de filtrage : WHERE vs HAVING, utilisation d'EXISTS, IN, sous-requêtes corréléesDéveloppez des stratégies de filtrage précises pour les requêtes analytiques. Comparez WHERE et HAVING, utilisez EXISTS et IN pour les filtres de sous-requêtes, et appliquez des sous-requêtes corrélées pour exprimer des conditions analytiques complexes et conscientes des lignes.
WHERE vs HAVING dans les requêtes groupéesUtilisation d'IN et NOT IN avec sous-requêtesEXISTS et NOT EXISTS pour les semi-jointuresSous-requêtes corrélées pour logique consciente des lignesGestion des NULL dans les conditions de filtreConseils de performance pour filtres complexesLeçon 2Types de données SQL et gestion des dates/heure (DATE, TIMESTAMP, précision numérique)Apprenez les principaux types de données SQL utilisés en analyse et leur impact sur le stockage, la précision et les calculs. Comprenez les échelles numériques, la gestion du texte et les opérations robustes sur dates et horodatages pour l'analyse temporelle.
Types numériques et précision pour métriquesConsidérations sur données de caractères et texteDATE vs TIMESTAMP et fuseaux horairesConversion et casting entre typesArithmétique des dates et calculs d'intervallesExtraction de parties de dates pour groupementLeçon 3Agrégations et groupement : GROUP BY, HAVING, COUNT, SUM, AVG, MIN, MAXApprenez à résumer les données avec agrégations et groupement. Utilisez GROUP BY et HAVING pour créer des métriques, appliquez COUNT, SUM, AVG, MIN et MAX, et concevez des requêtes agrégées robustes pour tableaux de bord et rapports.
Fondamentaux et syntaxe de GROUP BYFonctions d'agrégation COUNT et SUMAVG, MIN et MAX pour distributionsHAVING pour filtrer résultats agrégésGroupement par expressions et tranchesGestion des NULL dans les agrégationsLeçon 4Chargement de CSV dans les bases : COPY, LOAD DATA, import sqlite et pièges courantsApprenez des méthodes pratiques pour charger des données CSV dans les bases pour analyse. Utilisez COPY, LOAD DATA et import SQLite, gérez délimiteurs et encodages, et évitez les pièges courants causant des chargements défectueux ou partiels.
Préparation des CSV pour imports fiablesUtilisation de COPY dans PostgreSQL et systèmes similairesLOAD DATA pour MySQL et moteurs compatiblesFlux .import SQLite et optionsGestion des encodages, délimiteurs et guillemetsValidation des comptes de lignes et enregistrements rejetésLeçon 5Essentiels DDL et DML : CREATE TABLE, ALTER, INSERT, UPDATE, DELETE, contrôle des transactionsApprenez comment DDL et DML façonnent et modifient les tables pour l'analyse. Pratiquez la création et modification de schémas, insertion et mise à jour de données, suppression sécurisée, et utilisation des transactions pour assurer l'intégrité des données dans les flux analytiques et pipelines.
Création de tables analytiques avec CREATE TABLEModification sécurisée des schémas avec ALTER TABLEPatrons INSERT pour chargements massifs et incrémentauxUPDATE et DELETE avec prédicats sécurisésCOMMIT, ROLLBACK et portée des transactionsPropriétés ACID dans les charges analytiquesLeçon 6Bases des requêtes : SELECT, WHERE, ORDER BY, LIMIT, DISTINCTMaîtrisez la syntaxe de requête de base utilisée dans presque toutes les analyses. Apprenez comment SELECT récupère les colonnes, WHERE filtre les lignes, ORDER BY trie les résultats, LIMIT contrôle la taille d'échantillon, et DISTINCT supprime les doublons dans les requêtes analytiques.
Conception de liste SELECT et alias de colonnesFiltrage des lignes avec conditions WHERETri des résultats avec ORDER BYLIMIT et OFFSET pour échantillonnage de donnéesUtilisation de DISTINCT pour supprimer doublonsDébogage et affinage de requêtes de baseLeçon 7Jointures et opérations d'ensemble : INNER, LEFT, RIGHT, FULL, CROSS, UNION, EXCEPT, INTERSECTComprenez comment les jointures et opérations d'ensemble combinent les jeux de données pour l'analyse. Apprenez quand utiliser chaque type de jointure, comment éviter les erreurs de duplication, et comment UNION, EXCEPT et INTERSECT supportent les comparaisons analytiques complexes.
INNER JOIN pour ensembles de données intersectésCas d'usage LEFT, RIGHT et FULL OUTER JOINCROSS JOIN et produits cartésiens en analyseUNION vs UNION ALL pour empiler donnéesEXCEPT et INTERSECT pour comparaisons d'ensemblesDétection et gestion de duplication de jointureLeçon 8Concepts de bases de données relationnelles : tables, clés primaires/étrangères, normalisation vs dénormalisationComprenez les concepts relationnels de base qui sous-tendent les schémas analytiques. Apprenez les tables, clés primaires et étrangères, formes de normalisation, et quand dénormaliser pour la performance en reporting et charges BI.
Tables, lignes et colonnes en pratiqueClés primaires et contraintes d'unicitéClés étrangères et intégrité référentielleFormes de normalisation et contrôle de redondanceDénormalisation pour performance de reportingVue d'ensemble schémas en étoile et floconLeçon 9Bases de performance : index, plans de requête, explain/analyze, stratégies d'optimisation simples pour requêtes analytiquesObtenez une vue pratique de la performance des requêtes pour l'analyse. Apprenez comment fonctionnent les index, lisez les plans de requête, utilisez EXPLAIN et ANALYZE, et appliquez des stratégies d'optimisation simples pour garder les requêtes analytiques efficaces.
Comment les index accélèrent recherches et jointuresLecture et interprétation des plans de requêteUtilisation pratique d'EXPLAIN et ANALYZEIdentification des filtres et jointures lentesOptimisation GROUP BY et agrégationsStratégies d'indexation de base pour analyseLeçon 10Vue d'ensemble fonctions de fenêtre : ROW_NUMBER, RANK, DENSE_RANK, SUM() OVER(), AVG() OVER(), PARTITION BYExplorez les fonctions de fenêtre pour effectuer une analyse avancée sans écraser les lignes. Apprenez le classement, totaux courants, moyennes mobiles et stratégies de partitionnement qui alimentent l'analyse de cohortes, tendances et segmentation en SQL.
Syntaxe fonctions de fenêtre et clause OVERCas d'usage ROW_NUMBER, RANK et DENSE_RANKTotaux courants avec SUM() OVER()Moyennes mobiles avec cadres de fenêtrePARTITION BY pour logique de cohortes et segmentsORDER BY dans fenêtres vs ordonnancement requête