coldwa.st
Tutte le guideProgrammazioneWebDatiStrumentiDatabaseHaskellConcettiCabal e buildToolchainCompilatorePrestazioniEditor e HLS

Programmazione · dati · database

Cos’è l’SQL?

Di ColdwastAggiornato il 14 giugno 20267 min di lettura#sql#databases#data
Codice sorgente colorato su un monitor
Codice sorgente colorato su un monitor — l’SQL è un linguaggio di query che scrivi per chiedere a un database esattamente i dati che vuoi.

Dietro quasi ogni app, sito web e dashboard c’è un database — e il linguaggio usato per parlargli è, il più delle volte, l’SQL. È una colonna portante del software da cinquant’anni e resta una delle competenze più preziose che uno sviluppatore o un analista possa avere. Questa guida spiega cos’è l’SQL, i suoi comandi chiave, come funziona una query, il confronto con NoSQL e perché perdura.

La definizione breve

L’SQL (Structured Query Language) è il linguaggio standard per memorizzare, recuperare e modificare dati in un database relazionale. Un database relazionale organizza i dati in tabelle — righe e colonne, come un foglio di calcolo — e l’SQL è il modo in cui poni domande a questi dati e li modifichi. Si pronuncia „esse-cu-elle“ o „sequel“, e anima database come PostgreSQL, MySQL, SQLite, SQL Server e Oracle.

Tabelle, righe e colonne

Il modello relazionale è semplice. Una tabella users può avere le colonne id, name e age; ogni riga è un utente. Le tabelle possono mettersi in relazione tra loro — una tabella orders può fare riferimento a un utente tramite il suo id — è da qui che viene il „relazionale“, ed è qui che si rivela la potenza dell’SQL nel combinare i dati.

I comandi chiave

L’essenziale del lavoro SQL usa quattro verbi, spesso chiamati CRUD (create, read, update, delete):

  • SELECT — leggere dati („dammi gli utenti con più di 18 anni“).
  • INSERT — aggiungere una nuova riga.
  • UPDATE — modificare righe esistenti.
  • DELETE — eliminare righe.

Una query di base si legge quasi come l’inglese:

SELECT name, age
FROM users
WHERE age >= 18
ORDER BY age DESC;

Questo chiede il nome e l’età di ogni utente di 18 anni o più, dal più recente al più vecchio. WHERE filtra le righe, ORDER BY le ordina, e puoi fare JOIN tra tabelle per combinare dati correlati in un unico risultato.

Un portatile che mostra una dashboard di dati con grafici
Una dashboard di dati — i grafici e le tabelle che vedi nelle app sono di solito costruiti a partire da query SQL eseguite su un database.

Come viene eseguita davvero una query

Scrivi cosa vuoi, non come ottenerlo — l’SQL è dichiarativo. Il pianificatore di query del database trova il modo più efficiente di recuperare il risultato, usando indici (strutture di ricerca rapida) per evitare di scorrere ogni riga. Questa separazione è gran parte della longevità dell’SQL: la stessa query continua a funzionare man mano che i dati crescono, mentre il database ottimizza l’esecuzione al di sotto.

SQL vs NoSQL

Sentirai contrapporre l’SQL ai database NoSQL (MongoDB, Redis, Cassandra e altri). I database SQL/relazionali impongono uno schema strutturato ed eccellono nelle query complesse e nella coerenza garantita (transazioni ACID). I database NoSQL allentano la struttura a favore della flessibilità e della scalabilità orizzontale — utili per volumi enormi o forme di dati in rapida evoluzione. Nessuno sostituisce l’altro: molti sistemi usano entrambi. Per dati strutturati con relazioni, l’SQL resta la scelta predefinita.

Perché l’SQL conta ancora nel 2026

  • È ovunque — i database relazionali fanno girare banche, negozi, app e analisi; l’SQL è la lingua comune tra loro.
  • È una conoscenza portabile — il nucleo è standardizzato, quindi le competenze si trasferiscono tra PostgreSQL, MySQL, SQLite e il resto.
  • Alimenta l’analisi — gli analisti di dati e gli strumenti di BI interrogano quotidianamente i data warehouse con l’SQL.
  • È accessibile — le basi sono leggibili e puoi diventare produttivo in fretta.

I limiti onesti

I dialetti SQL differiscono nei dettagli, così una query ottimizzata per un database può richiedere aggiustamenti su un altro. Query scritte male o indici mancanti possono essere lenti su tabelle di grandi dimensioni, e costruire stringhe SQL a partire da input non affidabili provoca l’SQL injection — una falla di sicurezza classica, evitata usando query parametrizzate. Nulla di tutto ciò intacca i fondamentali; è l’artigianato quotidiano del buon uso dell’SQL.

FAQ

L’SQL è un linguaggio di programmazione? È un linguaggio dichiarativo specifico per un dominio, per lavorare con i dati — non un linguaggio generalista come Python. Descrivi i dati che vuoi e il database trova come ottenerli.

Qual è la differenza tra SQL e MySQL? L’SQL è il linguaggio; MySQL (come PostgreSQL o SQLite) è un sistema di database con cui parli in SQL. Il linguaggio è condiviso; i sistemi differiscono per funzionalità e prestazioni.

Mi serve l’SQL se uso un ORM? Gli ORM generano SQL per te, ma capire l’SQL resta essenziale per le prestazioni, il debug e le query complesse che l’ORM gestisce male.

Vale ancora la pena imparare l’SQL nel 2026? Sì — resta una delle competenze più richieste e durature per sviluppatori, analisti e ingegneri dei dati, e i database relazionali non scompariranno tanto presto.

L’SQL interroga i dati; il JSON che un’API restituisce è spesso quegli stessi dati in viaggio verso un’app. Sfoglia altre spiegazioni chiare nel nostro indice delle guide.

Guida indipendente, mantenuta dalla comunità. coldwa.st è un sito di risorse di programmazione; questo articolo è uno scritto esplicativo nuovo e originale sull’SQL. Gli esempi usano SQL standard; verifica il comportamento specifico del tuo dialetto sulla documentazione del tuo database.