Torna all'elenco degli articoli Articoli
Tempo di lettura: 8 minuti

Che cos'è l'SQL?

L'SQL può essere qualcosa di cui sentite parlare dai vostri colleghi. Oppure potreste vederlo nella descrizione del lavoro dei vostri sogni o notarlo in un elenco dei linguaggi di programmazione più popolari. Ma cos'è l'SQL? Dovreste impararlo? Scopriamolo.

Pensate a una carriera nell'analisi dei dati e nella scienza dei dati? Avete bisogno di interagire con i database relazionali al lavoro? Volete migliorare le vostre prestazioni come marketer, specialista delle risorse umane o ricercatore prendendo decisioni più informate? Se la risposta a una di queste domande è sì, è molto probabile che la conoscenza di SQL sia di grande utilità.

Iniziate a imparare oggi stesso con il SQL per principianti corso. Il corso comprende 129 esercizi interattivi che coprono tutte le nozioni di base per il recupero di informazioni da un database. Tuttavia, se non siete ancora convinti di aver bisogno di SQL, vediamo cos'è e dove si usa.

Introduzione all'SQL

SQL, o Structured Query Language, è un linguaggio di programmazione utilizzato per dialogare con i database. Con SQL è possibile memorizzare, manipolare e recuperare dati da database relazionali.

Ora vi starete chiedendo: cosa sono questi database relazionali? Sono comuni?

Nei database relazionali, i dati sono organizzati come una serie di tabelle con colonne e righe. Questi dati hanno relazioni predefinite tra le diverse tabelle di un database. È un modo molto comune di memorizzare le informazioni, sia per una piccola libreria che per Amazon.

Ad esempio, si ha una tabella books tabella. In questa tabella, i libri sono memorizzati come voci di riga e le colonne rappresentano gli attributi di ciascun libro, come il numero ID, il titolo, l'autore, il prezzo, ecc.

Si può anche avere una tabella sales che include i numeri ID degli ordini, le date e gli importi delle vendite. Ma può anche includere i numeri ID dei libri ordinati, il numero ID del venditore e il numero ID della libreria corrispondente. Questi numeri ID sono riferimenti ad altre tabelle del database, come ad esempio books, salespeople, e stores. Ciò significa che ogni informazione viene memorizzata nel database una sola volta, anziché essere duplicata in tutte le tabelle che potrebbero averne bisogno. Per questo motivo, i database relazionali sono molto efficienti e, di conseguenza, molto diffusi in diversi settori.

Tuttavia, perché i dati siano preziosi, non basta memorizzarli in modo efficiente. È necessario essere in grado di recuperarli in modo efficiente. È qui che entra in gioco l'SQL.

L'SQL è un linguaggio standard che consente di combinare le informazioni provenienti da più tabelle in base a relazioni predefinite, di analizzarle e di riportare i risultati. Ma le capacità di SQL vanno ben oltre il semplice recupero delle informazioni; aiuta anche a creare database e a mantenerli aggiornati. Data la popolarità dei database relazionali e l'importanza di SQL per comunicare con questi database, ogni professionista dei dati deve conoscere SQL.

Breve storia di SQL

Nonostante la popolarità del linguaggio, non c'è ancora accordo su come pronunciare il suo nome: S.Q.L. ("ess-cue-ell") o "sequel". Ci sono molti dibattiti su questo argomento in Internet e, mentre "sequel" di solito ottiene il maggior numero di voti, Donald D. Chamberlin, co-sviluppatore di SQL, e molti altri guru di SQL preferiscono "ess-cue-ell".

La pronuncia "sequel" ha una buona spiegazione che si nasconde nella storia di SQL. L'idea del database relazionale fu introdotta nel 1970 da Edgar Frank (Ted) Codd, un informatico inglese dell'IBM. Egli propose anche due diversi linguaggi per il suo modello di dati relazionale. Entrambi i linguaggi erano tutto fuorché facili da usare: utilizzavano notazioni matematiche con quantificatori e operatori matematici.

L'idea del modello di dati relazionale catturò l'attenzione di Donald D. Chamberlin e Raymond F. Boyce, colleghi di Codd in California. Tuttavia, si resero conto che i linguaggi proposti per interagire con i database relazionali erano troppo difficili per un'adozione di massa.

Con l'obiettivo di progettare un linguaggio di interrogazione facile da imparare, nel 1974 introdussero lo Structured English Query Language. Il linguaggio era basato su strutture inglesi e utilizzava l'acronimo SEQUEL. Sfortunatamente, dovettero cambiare il nome per evitare violazioni del marchio, e il nuovo nome divenne Structured Query Language, abbreviato in SQL. Ancora oggi, dopo quasi 40 anni, molti preferiscono pronunciarlo "sequel".

SQL è diventato uno standard dell'American National Standards Institute (ANSI) nel 1986 e dell'International Organization for Standardization (ISO) nel 1987. Anche se nessun database implementa completamente lo standard, la maggior parte ci si avvicina molto. Esistono molte versioni del linguaggio SQL utilizzate con diversi sistemi di gestione di database relazionali (RDBMS); i più popolari sono Oracle, MySQL, Microsoft SQL Server, PostgreSQL e SQLite.

Applicazioni di SQL

SQL è nato come linguaggio per comunicare con i database relazionali. Oggi, molte tecnologie diverse utilizzano SQL per accedere ai dati:

  • Letecnologie di elaborazione distribuita dei dati, come Apache Spark, Apache Flink e Apache Beam, offrono tutte SQL come interfaccia di programmazione.
  • Imotori di ricerca full-text, come Apache Solr ed Elasticsearch, supportano SQL come linguaggio di interrogazione.
  • È inoltre possibile utilizzare SQL nelle comuni applicazioni per fogli di calcolo, tra cui Microsoft Excel, Numbers e Google Sheets. Per alcune applicazioni questa funzionalità è già integrata, mentre per altre potrebbero essere necessari componenti aggiuntivi esterni.
  • Molte applicazioni per smartphone utilizzano SQLite, un leggero database relazionale integrato, per memorizzare i dati sul telefono, come le impostazioni e i dati dell'account.

È comune che le tecnologie di dati emergenti aggiungano il supporto per SQL quando raggiungono un certo livello di maturità. Questo articolo illustra altri esempi di applicazioni SQL.

Con SQL è possibile:

  • Recuperare record da un database. È anche possibile combinare informazioni provenienti da tabelle diverse e aggiungere condizioni di filtraggio complesse.
  • Eseguire calcoli sui record di un database. Ad esempio, è possibile raggruppare i record e calcolare la somma/media/minima/massima degli attributi di interesse.
  • Inserire, cancellare e modificare i dati in un database.
  • Preparare rapporti basati sulle informazioni memorizzate in un database.

Come vedete, SQL è ovunque. È anche uno strumento molto potente per interagire con i database e analizzare i dati.

È difficile da padroneggiare? No! È molto semplice per i principianti. Di seguito vi mostrerò alcuni esempi.

Esempi di SQL

La sintassi di SQL si basa sulla lingua inglese. Pertanto, i comandi SQL possono essere letti come normali frasi in inglese.

I comandi SQL standard sono:

  • SELECT recuperare dati da un database.
  • INSERT aggiungere nuovi record a un database
  • UPDATE modificare i record di un database
  • DELETE rimuovere dati da un database.

I principianti di solito iniziano con il recupero dei dati da un database. Vediamo quindi alcuni esempi di comandi di SELECT.

Immaginiamo di gestire una piccola libreria. Abbiamo la seguente tabella che contiene informazioni sui libri in vendita.

6]
books
idtitleauthoryearpricein_stock
11In Search of Lost TimeMarcel Proust200414.993
12UlyssesJames Joyce202235.4910
13Don QuixoteMiguel de Cervantes200322.992
14One Hundred Years of SolitudeGabriel Garcia Marquez200611.002
15The Great GatsbyF. Scott Fitzgerald20216.495
16Moby DickHerman Melville202110.495
17War and PeaceLeo Tolstoy200815.992
18HamletWilliam Shakespeare20036.291
19The OdysseyHomer199710.991
20Madame BovaryGustave Flaubert200212.991

Supponiamo di voler ottenere informazioni su tutti i libri pubblicati prima del 2010. Vogliamo vedere i titoli dei libri, gli autori e gli anni di pubblicazione. Ecco la query SQL per ottenere questi dati:

SELECT title, author, year
FROM books
WHERE year < 2010;

Si richiede title, autore e anno dalla tabella books per i record in cui l'anno di pubblicazione è precedente al 2010. Ecco l'output della query:

titleauthoryear
In Search of Lost TimeMarcel Proust2004
Don QuixoteMiguel de Cervantes2003
One Hundred Years of SolitudeGabriel Garcia Marquez2006
War and PeaceLeo Tolstoy2008
HamletWilliam Shakespeare2003
The OdysseyHomer1997
Madame BovaryGustave Flaubert2002

Probabilmente avete capito questa query anche senza alcuna precedente esposizione a SQL. Questa semplice sintassi è ciò che rende SQL così interessante per i nuovi professionisti dei dati.

Siete in grado di scrivere da soli la prossima query? Supponiamo di voler conoscere i dati title, author, price, e il numero di libri in_stock per tutti i libri di Marcel Proust.

Ecco la query per ottenere queste informazioni:

SELECT title, author, price, in_stock
FROM books
WHERE author = 'Marcel Proust';
titleauthorpricein_stock
In Search of Lost TimeMarcel Proust14.993

Come vedete, è abbastanza semplice. Tuttavia, se non conoscete SQL e altri linguaggi di programmazione, potreste non aver notato cose come le virgolette intorno al nome "Marcel Proust" nella condizione di filtraggio. Imparerete subito che in SQL le stringhe vanno messe tra virgolette.

Per imparare questa e altre sfumature della sintassi, consultate la nostra scheda di 2 pagine SQL per principianti. Il documento illustra con esempi come scrivere diverse clausole e condizioni di filtraggio in SQL.

È ora di imparare l'SQL!

Sebbene questi esempi siano di base, dimostrano quanto sia facile capire e imparare l'SQL anche se non si ha esperienza di informatica. Detto questo, quando si tratta di linguaggi di programmazione, leggere articoli e guardare video tutorial non è sufficiente. Il modo più veloce per imparare un nuovo linguaggio di programmazione è la pratica. I corsi interattivi online sono la migliore opportunità per i principianti di imparare e fare pratica allo stesso tempo.

Come ho già detto, consiglio il SQL per principianti per coloro che hanno appena iniziato il loro percorso in SQL. Dopo aver completato questo corso, saprete come combinare informazioni provenienti da più tabelle, come impostare condizioni di filtraggio complesse, come creare semplici report utilizzando funzioni aggregate e molto altro ancora. Per maggiori informazioni su questo corso, leggete la recensione completa di uno degli studenti. SQL per principianti studenti.

Se siete pronti ad andare oltre le nozioni di base, date un'occhiata alla SQL dalla A alla Z percorso di apprendimento. Con sette corsi interattivi, questo percorso offre un'eccellente opportunità per diventare un maestro di SQL in pochissimo tempo.

Grazie per aver letto e buon apprendimento!