Vai al contenuto principale

Come diventare un esperto di SQL

Ecco una guida completa su concetti e sintassi SQL più avanzati.
Aggiornato 29 set 2026  · 9 min leggi

Scopri con l'IA

ChatGPTClaudePerplexity

A questo punto conosci tutti i vantaggi di SQL e sei un affermato data analyst, data engineer o data scientist. Conosci i diversi dialetti di SQL, sai importare dati SQL e scrivi fluentemente query SQL di base. Ma vuoi portare le tue competenze al livello successivo? Ecco come.

Concetti SQL intermedi

Conosci le sub-lingue di SQL

In SQL ci sono quattro sub-lingue principali—si riferiscono a compiti diversi, ma fanno tutte parte del linguaggio SQL:

1. DDL (Data Definition Language)

Queste istruzioni servono per creare tabelle e database e definire le proprietà dei campi o delle tabelle. Esempi di comandi in questa categoria includono CREATE, ALTER e DROP.

2. DML (Data Manipulation Language)

Le istruzioni di questa categoria vengono utilizzate per aggiornare i dati o aggiungere/rimuovere dati dalle tabelle. I comandi in questa categoria includono UPDATE, DELETE e INSERT.

3. DCL (Data Control Language)

Queste istruzioni SQL servono a controllare chi accede ai dati. I comandi che rientrano in questa categoria sono GRANT e REVOKE.

4. TCL (Transaction Control Language)

Questa lingua viene utilizzata per confermare i dati e ripristinarli. COMMIT e ROLLBACK rientrano in questa categoria.

5. DQL (Data Query Language)

Serve a recuperare dati dal server SQL. L'istruzione SELECT rientra in questa categoria.

Possono sembrare intimidatorie, ma non preoccuparti! SQL è un linguaggio molto elegante e lineare da imparare, soprattutto perché non puoi usare SQL per creare visualizzazioni dei dati—si tratta di creare tabelle, organizzare e pulire i dati e imparare a fare le domande giuste.

Union e join

Spesso i dati di cui hai bisogno non sono conservati in un'unica grande tabella, ma distribuiti su più tabelle. Con SQL puoi unire queste tabelle per combinare tutti i dati necessari in un unico posto. Poiché UNION e JOIN riguardano le tabelle, vanno nell'istruzione FROM.

Una UNION sostanzialmente impila due tabelle con colonne identiche una sopra l'altra. È utile per i dati delle transazioni di vendita che possono essere suddivisi in tabelle diverse per mese, trimestre o anno.

Esistono diversi tipi di JOIN comunemente usati—Inner, Outer, Left ed Exception. In poche parole, restituiscono combinazioni diverse di righe dalle tabelle che vengono unite.

Risorse aggiuntive:

Sintassi SQL intermedia

A questo punto conosci le basi della sintassi SQL, comprese le funzioni SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY e LIMIT. Hai dimestichezza con il Database Design e conosci anche l'ordine di esecuzione in SQL—cioè che le query sono scritte in modo diverso da come vengono elaborate.

Ora è il momento di imparare una sintassi più avanzata.

Aggregazioni: SELECT, GROUP BY e HAVING

Come in Excel, puoi usare SQL per aggregare i tuoi dati per somma, media, massimo, minimo e conteggio. Le aggregazioni possono essere utili nelle fasi iniziali di esplorazione dei dati, nell'analisi o quando li presenti al tuo pubblico. Puoi farlo nell'istruzione SELECT per ottenere una semplice aggregazione oppure usare un'istruzione GROUP BY per creare una sorta di “tabella pivot” in stile Excel a partire dai tuoi dati.

Usare aggregazioni nell'istruzione SELECT restituirà solo un calcolo semplice; per esempio, se usassi SUM(column_name), la tua query restituirebbe un unico valore che rappresenta la somma di tutti i valori in quella colonna.

Puoi anche introdurre aggregazioni per dati categoriali. Ad esempio, se avessi una tabella con dati di vendita di frutta in tutto il paese, potresti raggruppare la somma di tutte le vendite per tipo di prodotto, o il prezzo medio per stato. Questo richiede un'istruzione GROUP BY, che viene dopo l'istruzione WHERE. Dovrai specificare la colonna categoriale in base alla quale vuoi che le tue aggregazioni siano “raggruppate”, e includere anche tali colonne nella tua istruzione SELECT.

Dopo che i tuoi dati sono stati raggruppati ordinatamente, con un'aggregazione associata a una variabile categoriale, puoi filtrare su quelle aggregazioni usando un'istruzione HAVING, che viene dopo GROUP BY. Questo è utile se vuoi restringere ulteriormente la tua query, per esempio se vuoi selezionare solo quei negozi di frutta con un totale medio di vendite superiore a $100.000.

Risorse aggiuntive:

Istruzioni CASE

Un'istruzione SQL CASE è simile alla funzione IF() di Excel—se i dati in una colonna corrispondono a determinati criteri, allora restituisci “questo”. Può essere utile quando si riclassificano dati quantitativi come categoriali, ad esempio suddividendo un insieme di valori in “Alto”, “Medio” o “Basso”. Le istruzioni CASE vanno nell'istruzione SELECT.

Vedi anche:

Subquery

Le subquery possono essere utilizzate in diversi modi, ma di solito si trovano nell'istruzione FROM o WHERE. Creano una piccola tabella temporanea dai tuoi dati che puoi poi usare come una nuova tabella da interrogare in modo diverso.

Vedi anche:

Date e orari

Come in molti altri linguaggi per i dati, lavorare con date e orari può essere complicato. A volte le date si comportano come “stringhe”, ovvero pezzi di informazione. Altre volte possono essere trattate come vere e proprie date, con sintassi SQL che può scomporre i dati in unità come mesi o anni. Poiché esistono molti modi diversi per farlo, queste funzioni sono considerate sintassi SQL più avanzata.

Vedi anche:

Fai evolvere il tuo modo di pensare in SQL

Linee guida SQL da seguire

Nel mondo reale, le domande di business difficilmente si traducono in modo pulito in query SQL. Per questo devi valutare con attenzione cosa serve prima ancora di scrivere una sola riga di codice. Ecco alcune buone linee guida da seguire quando fai pratica con SQL.

Riformula prima la tua domanda di business come commento

Usa i commenti nel codice per fare “branstorming” sulla tua query—qual è la domanda a cui stai cercando di rispondere? Su quali parti ed elementi devi concentrarti? Questo guiderà la tua query SQL.

Ci sono due tipi di commenti, inline e multi-linea.

--Inline sono semplicemente due trattini e stanno su una sola riga di codice—ideali per note brevi e veloci

/*I commenti multi-linea sono così.

     Sono utili per creare banner che spiegano lo scopo di una query, l'autore, ecc.*/

Abbozza la tua query

Prima ancora di iniziare a digitare, dovresti capire di quali parti avrai bisogno per la tua query. Avrai sempre bisogno di un'istruzione SELECT e FROM—ma cos'altro potrebbe servirti? Ti serve filtrare i dati usando un'istruzione WHERE? Dovrai usare funzioni di aggregazione?

Comprendi i diversi modi per raggiungere il tuo obiettivo

Quando possibile, prova ad avere più modi per fare la stessa cosa. In questo modo puoi fare quality check su di te e verificare se ottieni gli stessi risultati. Ad esempio, puoi trovare il valore più alto in una colonna usando la funzione MAX() nell'ISTRUZIONE, oppure usando ORDER BY per ordinare i dati e poi LIMIT per limitare in modo che venga restituita una sola riga.

Metti alla prova la tua query

Costruisci la tua query una riga alla volta ed eseguila di frequente per verificare che funzioni. Aggiungere i pezzi uno alla volta aiuta anche a evitare di dover ripercorrere il codice riga per riga nel caso in cui non funzioni.

Fai il profiling della tua tabella

Per poter iniziare a eseguire query, devi prima comprendere gli elementi di dati al suo interno. Inizia visualizzando l'intero database; poi, qualche colonna alla volta. Trova l'intervallo dei valori, sia categoriali che quantitativi, per farti un'idea delle informazioni contenute nella tabella.

Tieni un elenco di assunzioni

Quando scrivi qualsiasi tipo di codice sui dati, dovresti sempre fare un elenco di assunzioni per tenere facilmente traccia di limitazioni e dipendenze.

Mantieni un data dictionary

Compila un archivio centrale degli elementi di dati che stai usando, contenente descrizioni delle diverse tabelle e dei campi utilizzati nell'analisi. Questo può includere i diversi tipi di dati in ogni colonna (carattere, intero, denaro, data, ecc.) e una breve descrizione della colonna stessa.

Prevedi sempre del tempo per eseguire controlli di qualità dei dati

L'analisi non finisce quando hai terminato di scrivere la tua query. Devi comunque comprendere i risultati ed eseguire controlli di qualità per assicurarti che la tua analisi sia corretta. Prova modi diversi per ottenere lo stesso risultato e verifica se ottieni qualcosa di diverso—anche in questo caso i commenti inline tornano utili!

Fai pratica in una sandbox

Uno dei modi migliori per imparare qualsiasi linguaggio di programmazione è trovare una “sandbox” in cui fare esperimenti. Potrai testare il tuo codice, vedere se gira, modificarlo, eseguirlo di nuovo, più e più volte finché non ti sentirai a tuo agio con i principi e la sintassi. Per iniziare, potresti volere un po' più di guida—prova a trovare un progetto con istruzioni chiare e codice di soluzione per verificare il tuo lavoro.

Ecco alcune buone risorse per fare pratica:

Per ora è tutto. Spero ti sia stato utile—continua a fare pratica e a imparare!

Argomenti
SQL
Correlato

blog

Che cos'è Snowflake? Guida per principianti alla piattaforma dati cloud

Esplora le basi di Snowflake, la piattaforma dati cloud. Scopri la sua architettura, le sue funzionalità e come integrarla nelle tue pipeline di dati.
Tim Lu's photo

Tim Lu

12 min

blog

I 15 migliori server MCP remoti che ogni AI builder dovrebbe conoscere nel 2026

Scopri i 15 migliori server MCP remoti che stanno trasformando lo sviluppo AI nel 2026. Scopri come migliorano automazione, ragionamento, sicurezza e velocità dei workflow.
Abid Ali Awan's photo

Abid Ali Awan

15 min

blog

Tokenizzazione nel NLP: come funziona, sfide e casi d'uso

Guida al preprocessing NLP nel machine learning. Copriamo spaCy, i transformer di Hugging Face e come funziona la tokenizzazione in casi d'uso reali.
Abid Ali Awan's photo

Abid Ali Awan

10 min

Mostra AltroMostra Altro