Data Engineering

Geavanceerde SQL voor Data Engineering

Window functions, recursieve CTEs, analytische queries, optimalisatie, EXPLAIN ANALYZE, indexering, partitionering

20 gespreksvragen·
Mid-Level
1

Welke window function kent een uniek volgnummer toe aan elke rij binnen een partitie?

Antwoord

ROW_NUMBER() kent een uniek volgnummer toe aan elke rij binnen een partitie, beginnend bij 1. In tegenstelling tot RANK() en DENSE_RANK() die hetzelfde nummer aan gelijke waarden kunnen toekennen, garandeert ROW_NUMBER() altijd unieke nummers, zelfs voor identieke waarden in de ORDER BY-clausule.

2

Wat is het belangrijkste verschil tussen RANK() en DENSE_RANK()?

Antwoord

RANK() laat gaten in de nummering na gelijke waarden. Als bijvoorbeeld twee rijen rang 1 hebben, krijgt de volgende rang 3. DENSE_RANK() laat geen gaten: na twee rijen met rang 1 krijgt de volgende rang 2. Dit onderscheid is belangrijk voor rangschikkingsanalyses waarbij gaten de statistieken kunnen vertekenen.

3

Hoe bereken je een lopend totaal (running total) met een window function?

Antwoord

SUM() OVER met ORDER BY zonder expliciet frame gebruikt standaard ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW, wat de som berekent van alle voorgaande rijen tot en met de huidige rij. Dit is het standaardgedrag voor het maken van lopende totalen in tijdreeks- of sequentiële analyses.

4

Wat is de rol van de PARTITION BY-clausule in een window function?

5

Welke functie geeft toegang tot de waarde van de vorige rij in een window function?

+17 gespreksvragen

Beheers Data Engineering voor je volgende gesprek

Krijg toegang tot alle vragen, flashcards, technische tests, code review-oefeningen en gespreksimulatoren.

Begin gratis