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-jonctionsSous-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/heures (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 timestamps pour l'analyse temporelle.
Types numériques et précision pour les métriquesConsidérations sur les 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 le 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 les distributionsHAVING pour filtrer les résultats agrégésGroupement par expressions et tranchesGestion des NULL dans les agrégationsLeçon 4Chargement de CSV dans les bases de données : COPY, LOAD DATA, import sqlite et pièges courantsApprenez des méthodes pratiques pour charger des données CSV dans les bases de données pour l'analyse. Utilisez COPY, LOAD DATA et l'import SQLite, gérez les 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 de travail .import et options SQLiteGestion des encodages, délimiteurs et guillemetsValidation des comptes de lignes et enregistrements rejetésLeçon 5Fondamentaux 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, l'insertion et mise à jour de données, la suppression sécurisée, et l'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 TABLEModèles INSERT pour chargements en masse 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 des donnéesUtilisation de DISTINCT pour supprimer les 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 soutiennent 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 les donnéesEXCEPT et INTERSECT pour comparaisons d'ensemblesDétection et gestion de la 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 dans les charges de reporting et 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 des schémas en étoile et flocon de neigeLeçon 9Bases de performance : index, plans de requêtes, 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êtes, 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 les recherches et jointuresLecture et interprétation des plans de requêtesUtilisation pratique d'EXPLAIN et ANALYZEIdentification des filtres et jointures lentesOptimisation de GROUP BY et agrégationsStratégies d'indexation de base pour l'analyseLeçon 10Vue d'ensemble des 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, les totaux courants, les moyennes mobiles et les stratégies de partitionnement qui alimentent l'analyse de cohortes, de tendances et de segmentation en SQL.
Syntaxe des 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 cohorte et segmentORDER BY dans les fenêtres vs ordonnancement de requête