
SQL avanzato per il Data Engineering
Window functions, CTE ricorsive, query analitiche, ottimizzazione, EXPLAIN ANALYZE, indicizzazione, partizionamento
1Quale window function assegna un numero sequenziale univoco a ciascuna riga all'interno di una partizione?
Quale window function assegna un numero sequenziale univoco a ciascuna riga all'interno di una partizione?
Risposta
ROW_NUMBER() assegna un numero sequenziale univoco a ciascuna riga all'interno di una partizione, partendo da 1. A differenza di RANK() e DENSE_RANK() che possono assegnare lo stesso numero a valori uguali, ROW_NUMBER() garantisce sempre numeri univoci, anche per valori identici nella clausola ORDER BY.
2Qual è la differenza principale tra RANK() e DENSE_RANK()?
Qual è la differenza principale tra RANK() e DENSE_RANK()?
Risposta
RANK() lascia spazi vuoti nella numerazione dopo valori a pari merito. Ad esempio, se due righe sono classificate 1, la successiva sarà classificata 3. DENSE_RANK() non lascia spazi vuoti: dopo due righe classificate 1, la successiva sarà classificata 2. Questa distinzione è importante per le analisi di classifica in cui gli spazi vuoti possono falsare le statistiche.
3Come calcolare una somma cumulativa (running total) con una window function?
Come calcolare una somma cumulativa (running total) con una window function?
Risposta
SUM() OVER con ORDER BY senza un frame esplicito usa per impostazione predefinita ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW, che calcola la somma di tutte le righe precedenti fino alla riga corrente inclusa. È il comportamento standard per creare totali cumulativi in analisi temporali o sequenziali.
Qual è il ruolo della clausola PARTITION BY in una window function?
Quale funzione consente di accedere al valore della riga precedente in una window function?
+17 domande da colloquio
Altri argomenti di colloquio Data Engineering
Linux & Shell - Fondamenti
Git & GitHub - Fondamenti
Python avanzato per Data Engineering
Docker - Fondamenti
Google Cloud Platform - Fondamenti
CI/CD e qualità del codice
Docker Compose
FastAPI - API per dati
Data Lake - Architettura e ingestione
BigQuery per il Data Engineering
PostgreSQL - Amministrazione
Data Modeling per Data Engineering
Fivetran & Airbyte - Ingestione dati
dbt - Fondamenti
Apache Airflow - Fondamenti
Kubernetes - Fondamenti
dbt - Funzionalità avanzate
Pattern ETL / ELT / ETLT
Apache Airflow - Avanzato
Airflow + dbt - Orchestrazione delle pipeline
PySpark - Elaborazione su larga scala
Google Pub/Sub - Streaming di dati
Apache Beam & Dataflow
Kubernetes - Produzione e scaling
Terraform - Infrastructure as Code
Database NoSQL
Data Architecture moderna
Monitoraggio e osservabilità
IAM e sicurezza dei dati
Padroneggia Data Engineering per il tuo prossimo colloquio
Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.
Inizia gratis