Tre tecniche SQL da aggiungere al tuo toolkit

Dec 30 2022
IMHO, SQL è una delle competenze tecniche più importanti da sviluppare per ingegneri di dati, scienziati e analisti. Ho trascorso innumerevoli ore a perfezionare le query SQL e successivamente a interpretarle.
Vernice spray generata DALL-E art

IMHO, SQL è una delle competenze tecniche più importanti da sviluppare per ingegneri di dati, scienziati e analisti. Ho trascorso innumerevoli ore a perfezionare le query SQL e successivamente a interpretarle. Ho scoperto che mentre SQL è facile da imparare, c'è una curva ripida e spesso ci sono molti modi per svolgere una singola attività. Ecco tre delle mie tecniche di riferimento quando scrivo query SQL leggibili .

Con Dichiarazione

In qualità di ingegnere dei dati, sono sorpreso di apprendere che molti giovani professionisti dei dati che lavorano in SQL non hanno familiarità con l'istruzione WITH. L'istruzione WITH è un metodo per organizzare query complesse con sottoquery, rendendole più facili da leggere. Fornisce un modo per memorizzare i risultati delle query intermedie, che possono essere utili in molte situazioni. In pratica, definisci ogni sottoquery e gli dai un nome. Quindi chiami tutte quelle sottoquery denominate in un'istruzione select semplificata finale. In molti modi, l'utilizzo di un'istruzione WITH consente di creare tabelle temporanee su cui eseguire query. Nell'esempio di base qui sotto puoi vedere come è strutturata un'istruzione WITH.

WITH 
  t1 AS (SELECT * FROM table1),
  t2 AS (SELECT * FROM table2)
SELECT *
FROM t1 LEFT JOIN t2
ON t1.id = t2.id;

Funzioni in finestra

Un'altra delle mie funzioni SQL preferite è la funzione con finestra. Troppo spesso voglio confrontare il valore con la media di un sottogruppo. Un modo per farlo è avere due sottoquery e unirle insieme o estrarre i dati in R/Python ed eseguire il confronto. Tuttavia, puoi farlo usando una funzione con finestra.

Le funzioni con finestra sono funzioni che eseguono calcoli su un set di record, chiamato "finestra". Consentono di suddividere il risultato di una query in più categorie ed eseguire calcoli su ogni partizione.

Ad esempio, si desidera confrontare il punteggio medio del test per un particolare sottoinsieme con i singoli punti dati. Utilizzando una funzione con finestra è possibile confrontare facilmente un singolo evento con la media per sottogruppo (o partizione). Le funzioni con finestra includono funzioni di aggregazione, funzioni di classificazione e funzioni di offset. Queste funzioni possono aiutarti ad analizzare e riepilogare rapidamente i dati all'interno di una query. Di seguito è riportata la sintassi per la funzione media come funzione con finestra.

AVG() OVER (PARTITION BY [column_name] ORDER BY [column_name])



Syntax: RANK () OVER (PARTITION BY [column_name] ORDER BY [column_name])

Prova Cast

Infine, TRY_CAST è una funzione che uso pesantemente quando esploro per la prima volta un database o una nuova tabella. TRY_CAST è una funzione che utilizzo per convertire un'espressione di un tipo di dati in un altro tipo di dati. A differenza di CAST, non genera un errore se la conversione fallisce. Al contrario, restituisce un valore NULL. TRY_CAST è incredibilmente utile per gestire dati che potrebbero non essere validi per un particolare tipo di dati (sto parlando di date in particolare). Viene spesso utilizzato per garantire l'integrità dei dati e per prevenire errori imprevisti quando si tratta di dati di origine sconosciuta. Trovo che l'utilizzo di TRY_CAST sia particolarmente utile quando sono nella fase di esplorazione dei dati di un progetto.

SELECT TRY_CAST(column_name AS data_type)
FROM table_name;

Queste tre tecniche SQL possono tornare utili quando si lavora con i dati in un database. Come tutti gli strumenti o le tecniche, devi capire quando sono gli strumenti giusti per il lavoro.