SQL Dojo Beta

Biblioteca

I pattern, le trappole e le parole chiave di SQL e dell'analytics engineering, ciascuno con gli esercizi che lo praticano.

Tecnica15

Tecnica

Anti-join

Le righe di una tabella che non hanno corrispondenza in un'altra: i clienti che non hanno mai ordinato.
Tecnica

Contare i giorni lavorativi

Costruisci una volta i giorni lavorativi (niente weekend, niente festivi), poi contali tra due date.
Tecnica

Invarianti come test

Una regola che deve valere su ogni riga, o tra un modello e la sua sorgente, scritta come "le righe che la violano".
Tecnica

Picco di simultaneità

Quante cose erano attive contemporaneamente, al massimo: +1 a ogni inizio, −1 a ogni fine, poi un totale progressivo.
Tecnica

Ricerca per data di validità

Trova la tariffa, il prezzo o la versione valida alla data di ogni fatto, da una tabella che registra le modifiche.
Tecnica

Ripartizione con resto

Ripartisci un importo sulle righe in base a un peso, arrotondato al centesimo, con il resto su una riga scelta, così che le parti diano esattamente il totale.
Tecnica

Semi-join

Le righe che hanno almeno una corrispondenza, ognuna tenuta una sola volta.
Tecnica

Tabella di quarantena

Le righe errate vanno in una tabella separata con la regola che violano, invece di essere filtrate e dimenticate.
Tecnica

Un istogramma in SQL

Conta i valori per intervallo di ampiezza fissa, mantenendo gli intervalli vuoti.
Tecnica

Unire periodi sovrapposti

Unisci i periodi che si sovrappongono o si toccano in periodi continui, con un massimo progressivo delle date di fine.

Trappola9

Trappola

Dati sporchi

Un file sporco non dà alcun errore: ogni query gira, e le risposte sono sbagliate. Controlla una nuova tabella prima di fidarti.
Trappola

Fan-out delle join

Unire due tabelle uno-a-molti moltiplica le righe, e le somme crescono con loro.
Trappola

Non ancora osservabile

Un risultato che non ha avuto il tempo di verificarsi è sconosciuto, non zero: le coorti giovani e il periodo in corso sembrano un crollo.
Trappola

NOT IN con un NULL

Basta un NULL nella lista e NOT IN non restituisce alcuna riga.
Trappola

Paradosso di Simpson

Un gruppo può essere migliore in ogni segmento e peggiore nel complesso, quando i segmenti pesano in modo diverso.
Trappola

Prima converti, poi tronca

Tagliare un orario UTC in giorni, ore o mesi dà giorni UTC: converti prima nel fuso orario di chi legge.
Trappola

Soft delete e NULL

WHERE NOT is_deleted scarta anche le righe in cui il flag è NULL.

Parola chiave2

Parola chiave

LEFT JOIN

Mantieni ogni riga della tabella di sinistra, anche quando a destra non c'è corrispondenza.
Parola chiave

MAX_BY e MIN_BY

Il valore di una colonna sulla riga in cui un'altra colonna è massima (o minima), in un semplice GROUP BY.

Indicatore5

Indicatore

Fatturato

Una sola definizione per tutta la caffetteria: quantity * unit_price delle righe d'ordine, esclusi gli ordini annullati.
Indicatore

Sample ratio mismatch

Prima di leggere un esperimento, verifica che i suoi gruppi abbiano le dimensioni previste.
Indicatore

Scontrino medio

Il fatturato diviso per il numero di ordini, su un periodo.
Indicatore

Spiegare una variazione

Scomponi la variazione di una metrica in parti che la sommano: volume contro valore, mix contro tasso, poi per segmento.

Modellazione4

Modellazione

Normalizzare o denormalizzare?

Memorizza ogni fatto una sola volta dove i dati vengono scritti; copialo dove i dati vengono soprattutto letti.
Modellazione

Staging, intermediate, mart

Ogni definizione vive in un solo layer: nomi e tipi nello staging, logica condivisa nei modelli intermediate, entità di business nei mart.