Les 1Filtertechnieken: WHERE vs HAVING, gebruik van EXISTS, IN, gecorreleerde subqueriesOntwikkel precieze filterstrategieën voor analytische queries. Vergelijk WHERE en HAVING, gebruik EXISTS en IN voor subquery-filters, en pas gecorreleerde subqueries toe om complexe, rij-specifieke analytische voorwaarden uit te drukken.
WHERE vs HAVING in gegroepeerde queriesGebruik van IN en NOT IN met subqueriesEXISTS en NOT EXISTS voor semi-joinsGecorreleerde subqueries voor rij-specifieke logicaOmgaan met NULLs in filtervoorwaardenPrestatie-tips voor complexe filtersLes 2SQL-datatypen en datum/tijd-behandeling (DATE, TIMESTAMP, numerieke precisie)Leer de belangrijkste SQL-datatypen voor analytics en hoe ze invloed hebben op opslag, precisie en berekeningen. Begrijp numerieke schalen, tekstbehandeling en robuuste datum- en timestamp-operaties voor tijdgebaseerde analyse.
Numerieke typen en precisie voor metricsKarakter- en tekstdata-overwegingenDATE vs TIMESTAMP en tijdzonesCasting en converteren tussen typenDatumrekenkunde en intervalberekeningenUittrekken van datumdelen voor groeperingLes 3Aggregaties en groepering: GROUP BY, HAVING, COUNT, SUM, AVG, MIN, MAXLeer data samenvatten met aggregaties en groepering. Gebruik GROUP BY en HAVING om metrics te bouwen, pas COUNT, SUM, AVG, MIN en MAX toe, en ontwerp robuuste aggregate-queries voor dashboards en rapporten.
GROUP BY-grondslagen en syntaxAggregate-functies COUNT en SUMAVG, MIN en MAX voor verdelingenHAVING om geaggregeerde resultaten te filterenGroeperen op expressies en bucketsOmgaan met NULLs in aggregatesLes 4CSV's laden in databases: COPY, LOAD DATA, sqlite-import en veelvoorkomende valkuilenLeer praktische methoden om CSV-data in databases te laden voor analyse. Gebruik COPY, LOAD DATA en SQLite-import, behandel delimiters en coderingen, en vermijd veelvoorkomende valkuilen die slechte of gedeeltelijke ladingen veroorzaken.
CSV's voorbereiden voor betrouwbare importsCOPY gebruiken in PostgreSQL en vergelijkbare systemenLOAD DATA voor MySQL en compatibele enginesSQLite .import-workflow en optiesOmgaan met coderingen, delimiters en quotesValideren van rij-aantallen en afgewezen recordsLes 5DDL- en DML-essentials: CREATE TABLE, ALTER, INSERT, UPDATE, DELETE, transactiebeheerLeer hoe DDL en DML tabellen vormgeven en wijzigen voor analytics. Oefen met het maken en wijzigen van schema's, invoegen en updaten van data, veilig verwijderen en gebruik van transacties om dataintegriteit te waarborgen in analytische workflows en pipelines.
Analytische tabellen maken met CREATE TABLESchema's veilig wijzigen met ALTER TABLEINSERT-patronen voor bulk- en incrementele ladingenUPDATE en DELETE met veilige predikatenCOMMIT, ROLLBACK en transactie-scopeACID-eigenschappen in analytische workloadsLes 6Query-basics: SELECT, WHERE, ORDER BY, LIMIT, DISTINCTBeheers de kern query-syntax die in bijna elke analyse gebruikt wordt. Leer hoe SELECT kolommen ophaalt, WHERE rijen filtert, ORDER BY resultaten sorteert, LIMIT steekproefgrootte controleert en DISTINCT duplicaten verwijdert in analytische queries.
SELECT-lijstontwerp en kolomaliassenRijen filteren met WHERE-voorwaardenResultaten sorteren met ORDER BYLIMIT en OFFSET voor data-samplingDISTINCT gebruiken om duplicaten te verwijderenBasis query-debugging en verfijningLes 7Joins en set-operaties: INNER, LEFT, RIGHT, FULL, CROSS, UNION, EXCEPT, INTERSECTBegrijp hoe joins en set-operaties datasets combineren voor analyse. Leer wanneer elke jointype te gebruiken, hoe duplicatiefouten te vermijden, en hoe UNION, EXCEPT en INTERSECT complexe analytische vergelijkingen ondersteunen.
INNER JOIN voor snijdende datasetsLEFT, RIGHT en FULL OUTER JOIN-gebruiksscenario'sCROSS JOIN en Cartesiaanse producten in analyseUNION vs UNION ALL voor data-stapelenEXCEPT en INTERSECT voor set-vergelijkingenDetecteren en behandelen van join-duplicatieLes 8Relationele database-concepten: tabellen, primaire/vreemde sleutels, normalisatie vs denormalisatieBegrijp de kern relationele concepten die analytische schema's onderbouwen. Leer tabellen, primaire en vreemde sleutels, normalisatievormen en wanneer te denormaliseren voor prestaties in rapportage- en BI-workloads.
Tabellen, rijen en kolommen in de praktijkPrimaire sleutels en uniciteit-constraintsVreemde sleutels en referentiële integriteitNormalisatievormen en redundantiebeheersingDenormalisatie voor rapportageprestatiesStar- en snowflake-schema's overzichtLes 9Prestatie-basics: indexen, query-plannen, explain/analyze, eenvoudige optimalisatiestrategieën voor analytische queriesKrijg een praktisch beeld van query-prestaties voor analytics. Leer hoe indexen werken, query-plannen lezen, EXPLAIN en ANALYZE gebruiken, en eenvoudige optimalisatiestrategieën toepassen om analytische queries efficiënt te houden.
Hoe indexen lookups en joins versnellenQuery-plannen lezen en interpreterenEXPLAIN en ANALYZE in de praktijk gebruikenLangzame filters en joins identificerenOptimaliseren van GROUP BY en aggregatiesBasis indexatiestrategieën voor analyticsLes 10Window-functies overzicht: ROW_NUMBER, RANK, DENSE_RANK, SUM() OVER(), AVG() OVER(), PARTITION BYVerken window-functies om geavanceerde analytics uit te voeren zonder rijen te collapsen. Leer ranking, loopende totalen, bewegende gemiddelden en partitioneringstrategieën die cohort-, trend- en segmentatie-analyse aandrijven in SQL.
Window-functie syntax en OVER-clausuleROW_NUMBER, RANK en DENSE_RANK-gebruiksscenario'sLoopende totalen met SUM() OVER()Bewegende gemiddelden met window-framesPARTITION BY voor cohort- en segmentlogicaORDER BY in windows vs query-sortering