Advanced SQL Skills
Beyond the Basics
Elke IT-er heeft wel een basiskennis van SQL. Maar het is mij opgevallen dat de meeste analisten, ontwikkelaars en testers ook niet veel meer weten dan dat, en geen moeite hebben gedaan om hun SQL kennis op te krikken. Dat is zonde, want zo ze verliezen bergen kostbare tijd. Als ze wat meer SQL vaardigheden zouden hebben zouden ze veel productiever worden bij alle situaties waarbij ze queries op de database moeten uitvoeren.
Met deze cursus krijgen ze in slechts één dag een overzicht van wat er allemaal meer mogelijk is met SQL in de meest gangbare relationele databases, en maken ze kennis met een aantal belangrijke design patterns. Dit alles is tegenwoordig natuurlijk ook gemakkelijk op internet te vinden, maar zolang je niet weet wat er allemaal mogelijk dan kun je er ook niet naar zoeken. Er zijn zeker ook voldoende boeken op dit gebied te vinden, maar bijna niemand leest die. Ieder leest altijd wel boeken over zijn eigen vakgebied (ontwikkelaars lezen boeken over programmeren, testers lezen boeken over testen, analisten lezen boeken over requirements analyse, etc.), maar ik kom nooit mensen tegen die daarnaast ook boeken over SQL lezen. Het meeste wat ze ervan weten komt uit een of andere cursus SQL Fundamentals van lang geleden plus wat handigheidjes die ze in de praktijk erbij hebben geleerd – dingen waar ze tegenaan gelopen zijn in de loop der jaren. Maar zelfs gelouterde IT professionals zie ik vaak nog steeds aanmodderen met hun primitieve basisgereedschap, waardoor ze uren bezig zijn om bepaalde gegevens uit de database te trekken, die ze met wat meer kennis ook binnen 10 minuten tevoorschijn hadden kunnen toveren. Een enorme verspilling van tijd en energie (en dus ook van geld)!
Daarom heb ik een cursus gemaakt die in deze behoefte voorziet. Na slechts 1 dag intensieve studie heeft men voldoende kennis van de belangrijkste concepten om daarna zelfstandig het cursusboek te kunnen doorwerken en de bijbehorende opgaven te maken. Dit kost dan nog ongeveer 2 dagen tijd. Echte handigheid komt natuurlijk pas met ervaring, maar de voorbeelden uit het cursusboek en de talloze links naar meer uitgebreide achtergrondinformatie bieden daarna voldoende aanknopingspunten om het geleerde ook daadwerkelijk toe te passen.
Naast de generieke cursus zijn er speciale versies voor Oracle, SQL Server en PostgreSQL, met aandacht voor implementatie-specifieke eigenaardigheden.
Onderwerpen:
- minder bekende SQL constructies (65%)
- design patterns (30%)
- performance issues (5%)
Doelgroep: iedereen die regelmatig queries uitvoert op een relationele database.
Vereiste voorkennis: standaard basis SQL kennis.
De cursus wordt bij voorkeur op locatie gegeven bij uw bedrijf.
Alles wat ik ervoor nodig heb is een beamer.
Kosten: 666,- per deelnemer (excl. BTW) plus reiskostenvergoeding.
Duur: één dag van 9 tot 5 inclusief pauzes. Daarna
Eventueel kan de cursus ook worden opgesplitst in 2x een halve dag.
Elke deelnemer krijgt een digitaal cursusboek.
De cursus kan zowel in het Nederlands als in het Engels worden gegeven.
Het cursusboek is echter geheel in het Engels.
Inhoud
- The building blocks of SQL
- SQL constructs
Joins
WITH clause versus in line views
Using WITH for updates and deletes
ORDER BY Clause
Place of the ORDER BY clause
Different ways of referencing
Ordering by invisible columns
Ordering by complex expressions
Sort order
Row limiting clauses
Standard SQL functions
Overview
Scalar functions
Aggregate functions
Window functions
Conditional logic with CASE
Simple case expression
Searched case expression
Handling null values
Removing duplicates
Counting unique values
Too many rows
Window functions
Aggregate functions
Ranking functions
Range functions
Different ways to achieve the same result
Scalar subqueries
Correlations over more than one column
Creating auxiliary tables
Regular expressions
Recursive queries
Hierarchical queries
Higher level aggregration with ROLLUP and CUBE
User-defined functions
Dynamic SQL - Design Patterns
Conditional summation
Comparing two data sets
Counts
Symmetric difference
Compare of a numeric column
Handling duplicate records
Distribution of values
Graphic frequency histogram
Buckets
Second level aggregation
Transforming rows into columns and columns into rows - Introduction to performance issues