Corso
Che cos'è SQL?
SQL (Structured Query Language) è un linguaggio standard utilizzato per archiviare, recuperare e manipolare dati nei database relazionali.
Permette agli utenti finali di comunicare con i database ed eseguire attività come creare, aggiornare e eliminare database. Quasi ogni organizzazione di medie e grandi dimensioni usa SQL, tra cui Facebook, Microsoft, LinkedIn e Accenture.
In effetti, nel 2021 SQL è stato classificato come l'ambiente di database più utilizzato e il terzo linguaggio di programmazione più popolare da StackOverflow. Se sei curioso di conoscere SQL vs Python, dai un'occhiata al nostro articolo di confronto tra i due. Per capire a cosa serve SQL, vediamo prima rapidamente cosa fanno i database.
Introduzione ai database
I database sono raccolte di informazioni strutturate archiviate e accessibili elettronicamente. Rendono facile per le aziende estrarre, aggiornare e analizzare i dati interni, spesso usando SQL o linguaggi simili.
Le aziende usano i database principalmente perché fogli di calcolo e file non sono scalabili. Sebbene possano andare bene per piccole aziende e startup che non raccolgono grandi quantità di dati, possono archiviare solo una quantità limitata di informazioni.
Un file Excel, per esempio, può archiviare circa 1 milione di righe di dati, e anche così rallenterà notevolmente le prestazioni del sistema quando gli utenti proveranno a eseguire operazioni complesse. Al contrario, i database possono caricare oltre 10 milioni di righe di dati in meno di un minuto.
Inoltre, i database consentono una facile manipolazione, analisi e aggregazione dei dati, operazioni semplicemente impossibili con un foglio di calcolo o un file di testo.
Esistono molti tipi diversi di database utilizzati dalle organizzazioni per archiviare dati interni, i più popolari sono i database relazionali.
I database relazionali archiviano punti dati con relazioni predefinite tra loro e sono accessibili usando un linguaggio chiamato SQL. Per un introduzione completa ai database relazionali e al loro funzionamento, dai un'occhiata al nostro corso.
A cosa serve SQL? 7 usi principali di SQL
SQL ha molti utilizzi ed è impiegato in marketing, sanità e finanza per analisi dei dati e di business, sviluppo e data science. In questa sezione vedremo più da vicino a cosa serve SQL, insieme ai tipi di lavoro che richiedono la conoscenza del linguaggio.
Settori che usano SQL
Qui sotto abbiamo selezionato alcune delle principali aree in cui SQL è usato per ottenere una serie di risultati diversi.
1. Usi di SQL nel marketing
I team di marketing spesso targetizzano i clienti e lanciano promozioni basandosi sui dati utente raccolti dall'organizzazione.
Molto spesso, questi dati sono archiviati in grandi database e devono essere interrogati prima che i marketer possano usarli.
Ecco un esempio di come si usa SQL in ambito marketing:
Anne è una responsabile marketing in un'azienda di ecommerce. Ogni volta che gli utenti interagiscono con il sito dell'azienda, i loro dati vengono raccolti e archiviati automaticamente in un database relazionale. Nel database sono archiviati oltre 1,5 milioni di record di dati utente.
Le variabili raccolte includono gli articoli acquistati dal cliente, il genere, l'ora dell'acquisto e un ID utente univoco.
Ecco una vista sintetica della tabella del database che deve interrogare:

Dalla tabella sopra, Anne deve estrarre tutti i dettagli dei clienti che hanno effettuato acquisti durante una promozione il 25 agosto 2021. Vuole ritargetizzare questi utenti per una campagna simile che lancerà il prossimo trimestre.
Ecco una semplice query SQL che può scrivere per accedere ai dati necessari in meno di un minuto:
SELECT * FROM customer_data A WHERE CAST (A.Date AS Date) >= '2021-08-25';
Questa query restituirà i seguenti risultati dalla tabella mostrata sopra:

L'esempio sopra dimostra quanto sia utile SQL per estrarre informazioni rilevanti per analizzare i dati di business.
Poiché il processo di marketing è sempre più guidato dai dati, è una buona idea che i marketer imparino le basi di SQL, così da poter prendere decisioni informate quando gestiscono campagne e targetizzano gli utenti.
2. Usi di SQL nella finanza
Le organizzazioni spesso archiviano i dati finanziari nei database poiché sono altamente sicuri e possono essere interrogati facilmente. I professionisti della finanza possono estrarre questi dati per prendere decisioni data-driven.
Ecco un esempio di come i team finanziari possono usare SQL per interrogare informazioni rilevanti dai database:
John è uno specialista finanziario che analizza i dati di vendita trimestrali per sviluppare previsioni per l'anno successivo. Deve anche identificare i periodi con un numero eccezionalmente basso di vendite per evitarne il ripetersi.
Ecco una tabella di esempio chiamata "sales_data" con cui John deve lavorare:

Questa è una semplice query SQL che può scrivere per identificare i mesi con vendite inferiori alla media:
SELECT Month_of_Year, Sales FROM sales_data
WHERE Sales < (SELECT AVG(Sales) FROM sales_data);
Può usare i risultati di questa query per identificare schemi nelle vendite e creare un piano finanziario per l'anno successivo.
Oltre al caso d'uso mostrato sopra, i team finanziari possono anche usare SQL per identificare tendenze nei ricavi e nelle vendite nel tempo. Il linguaggio può essere usato per fornire ai decisori una visione chiara di KPI finanziari come reddito netto e costi dell'azienda.
3. Usi di SQL nella sanità
SQL è spesso usato per manipolare e analizzare le informazioni dei pazienti archiviate nei database clinici. Per esempio, può essere usato per creare dashboard sui dati sanitari degli utenti, generare report dei pazienti basati sugli input dei professionisti medici e persino effettuare ricerche su grandi database come il tracker del Covid-19.
Ecco un esempio di come si usa SQL nel settore sanitario:
Un'organizzazione benefica no-profit raccoglie dati relativi a una malattia mortale diffusa nelle aree rurali. I volontari visitano quindi le aree ad alto rischio con il maggior numero di infezioni per somministrare vaccini e arginare la diffusione della malattia.
Ecco cinque righe di un database di esempio creato dall'organizzazione:

Questa è una query SQL che può essere scritta per identificare le 10 regioni con il numero più alto di infezioni:
SELECT * from diseases
ORDER BY Cases DESC
LIMIT 10
Sebbene la query sopra sia utile, non è efficiente per i volontari eseguirla quotidianamente per trovare le regioni ad alto rischio. Invece, il database SQL può essere collegato a un dashboard live, in tempo reale, che visualizza il numero di infezioni nelle diverse regioni.
Ecco un esempio di dashboard Covid-19 che fa proprio questo:

I casi d'uso sopra mostrano che SQL ha applicazioni in molti ambiti. È usato in quasi tutti i settori per analizzare i dati e generare valore per il business.
Per questo motivo, vale la pena per i professionisti non tecnici imparare le basi di SQL, così da poter interagire con i database e raccogliere le informazioni necessarie per prendere decisioni quotidiane.
Come viene usato SQL in lavori specifici
Ora che sappiamo a cosa serve SQL in vari settori, vediamo alcuni lavori specifici che ne sfruttano le potenzialità.
4. SQL per lo sviluppo mobile e web
Gli sviluppatori usano SQL quando creano applicazioni mobile e web. Quando installi un'app mobile e crei un nome utente e una password, questi vengono immediatamente tradotti in un codice indecifrabile dagli aggressori e archiviati in modo sicuro in un database usando SQL.
Allo stesso modo, quando interagisci con l'applicazione, ti iscrivi a una newsletter o effettui un acquisto online, i tuoi dati vengono raccolti e archiviati in un database.
Gli sviluppatori back-end mobile e app devono conoscere bene SQL per eseguire attività di elaborazione dei dati e creare un'esperienza utente piacevole.
5. SQL per la data analytics
I data analyst sono professionisti esperti che identificano le tendenze nei dati per supportare il processo decisionale dell'azienda. Usano SQL per l'estrazione e l'analisi dei dati al fine di generare insight azionabili.
I manager e gli stakeholder usano i pattern individuati dai data analyst per prendere decisioni che portano valore al business.
I data analyst sono tra i professionisti più ricercati al mondo. Segui il career track Data Analyst in SQL per iniziare oggi stesso il tuo percorso di transizione nel settore.
6. SQL per la business analytics
I business analyst identificano aree di miglioramento all'interno dell'organizzazione e generano raccomandazioni per rafforzare i processi aziendali.
Possono lavorare in diverse aree aziendali, come l'IT o lo sviluppo del personale, e devono raccomandare cambiamenti in questi reparti sulla base dei dati disponibili.
Questo significa che i business analyst non solo devono raccogliere e analizzare i dati usando SQL, ma devono anche creare dashboard interattivi per presentare i loro risultati al top management.
SQL può interrogare database connessi in tempo reale a strumenti di visualizzazione come Tableau e PowerBI, rendendolo un linguaggio ideale per i business analyst.
Se vuoi diventare business analyst o lo sei già e vuoi migliorare le tue competenze SQL, dai un'occhiata allo skill track SQL for Business Analysts.
7. SQL per la data science
La data science consiste nell'estrarre insight dai dati, e SQL è fondamentale per questo, soprattutto nella modellazione e nell'analisi predittiva. SQL è cruciale per:
- Estrazione e preprocessamento dei dati: Essenziale per interrogare e preparare i dati dai database, consentendo filtraggio, ordinamento e aggregazione per set di dati di alta qualità.
- Exploratory Data Analysis (EDA): Aiuta i data scientist a comprendere pattern e correlazioni nei database, facilitando la formulazione di ipotesi e gli approcci di modellazione.
- Feature engineering: Usato per creare nuove variabili a partire dai dati esistenti per migliorare le prestazioni dei modelli, sfruttando le funzioni di SQL e le capacità di join tra tabelle.
- Data wrangling per il machine learning: Trasforma e struttura i dati per il machine learning, gestendo normalizzazione, valori mancanti e codifica delle variabili categoriche.
- Integrazione con strumenti analitici: Si integra senza problemi con strumenti e linguaggi come Python e R, combinando la manipolazione dati di SQL con l'analisi avanzata.
- Scalabilità e prestazioni: Gestisce grandi volumi di dati in modo efficiente, cruciale in ambienti con tempi e risorse limitati.
- Reportistica e visualizzazione: Genera set di dati per strumenti di visualizzazione e software di reportistica, garantendo report accurati e aggiornati.
- Data science in tempo reale: Le capacità di interrogazione e processamento rapido sono vitali per applicazioni real-time come pricing dinamico, rilevamento frodi e sistemi di raccomandazione.
Perché dovresti imparare SQL per la data science?
Quando la maggior parte delle persone pensa alla data science, spesso la mente va all'analisi predittiva e alla modellazione di machine learning. Tuttavia, puoi costruire modelli di machine learning solo se hai i dati necessari per farlo. Nel mondo reale, questi dati raramente ti verranno forniti in un foglio di calcolo pulito e strutturato come su Kaggle.
Devi accedere al database dell'azienda, raccogliere i dati di cui hai bisogno e pre-processarli prima di poter iniziare a costruire modelli predittivi. Come accennato sopra, la maggior parte delle aziende archivia i dati in database relazionali, il che significa che devi conoscere SQL per riuscirci.
In effetti, secondo uno studio recente, SQL è un requisito in quasi il 65% di tutte le offerte di lavoro per la data science. Questo significa che, anche se conosci Python, ti stai perdendo circa 3 opportunità su 5 se ti mancano competenze in SQL.
Se ancora non sei convinto, ecco la job description per data scientist di Meta che elenca SQL come competenza indispensabile:

Leggi il nostro articolo per scoprire cosa puoi fare con SQL se padroneggi il linguaggio.
Come imparare SQL per la data science
Se non hai conoscenze pregresse di SQL, segui il nostro corso Introduction to SQL per imparare le basi del linguaggio. Questo programma ti insegnerà l'organizzazione dei dati, come sono strutturate le tabelle nei database e i principi di costruzione dei database. Imparerai a selezionare dati dai database ed eseguire manipolazioni di base.
Una volta apprese le basi di SQL, segui il corso Intermediate SQL per imparare l'analisi dei dati con SQL. Questo corso tratta concetti come filtraggio, ordinamento, raggruppamento e funzioni di aggregazione. Queste operazioni ti insegneranno a scoprire insight e identificare trend in grandi quantità di dati.
Poi, segui il corso Joining Data in SQL per imparare come combinare due o più tabelle del database. Questa è probabilmente una delle tipologie di query SQL più importanti usate quotidianamente dai data scientist.
Successivamente, segui Data Manipulation in SQL per imparare funzioni SQL più avanzate come sottoquery e window function.
I corsi sopra dovrebbero darti una solida padronanza di SQL. I concetti appresi in questi corsi ti prepareranno alle domande dei colloqui di data science su SQL.
Tuttavia, per diventare davvero competente in un linguaggio e usarlo nel mondo reale, devi applicare le conoscenze acquisite.
Segui il programma Applying SQL to Real World Problems per imparare a risolvere problemi di business usando SQL. Le query che scriverai durante il corso possono essere incluse nel tuo portfolio di data science e aumenteranno le tue possibilità di ottenere un lavoro nel settore.
Considerazioni finali
SQL non è solo un linguaggio di programmazione, ma uno strumento fondamentale in vari settori. La sua capacità di gestire e analizzare in modo efficiente grandi set di dati lo rende indispensabile nel nostro mondo sempre più data-driven. Che si tratti di marketing, finanza, sanità o tecnologia, la versatilità di SQL consente ai professionisti di sbloccare il potenziale dei dati, portando a decisioni informate e soluzioni innovative.
Per chiunque navighi nel panorama digitale, imparare SQL non è solo un potenziamento delle competenze tecniche, ma un passo necessario per rendere il proprio percorso professionale a prova di futuro. Man mano che i dati continuano a guidare il business e la tecnologia, SQL rimane una competenza chiave per sfruttare il potere delle informazioni in qualsiasi campo. Segui oggi lo skill track SQL Fundamentals e impara a scrivere query SQL per iniziare ad analizzare i tuoi dati.
FAQ sugli usi di SQL
SQL è un linguaggio di programmazione?
Sì, SQL è un linguaggio di programmazione poiché è Turing completo. In parole semplici, un linguaggio Turing completo dovrebbe essere in grado di risolvere qualsiasi problema computazionale dato tempo e memoria sufficienti.
Tuttavia, a differenza di linguaggi di programmazione come Java e Python, SQL può solo interagire con i database. Non può essere usato per visualizzare dati, leggere file o creare applicazioni web. Per questo motivo, SQL è definito un linguaggio di programmazione specifico del dominio.
Leggi il nostro articolo per saperne di più sul fatto che SQL sia un linguaggio di programmazione.
Come eccellere ai colloqui di SQL per la data science?
I colloqui di data science in genere valutano i candidati su argomenti come join, ricerca di duplicati in una tabella di database, funzioni di indice, window function, raggruppamento e sottoquery. Tutti questi concetti sono coperti nel career track SQL Fundamentals di Datacamp.
La maggior parte delle aziende ti fornirà un dataset di esempio e un problema di business. Dovrai quindi usare una combinazione di funzioni SQL per scrivere una query che risolva il caso d'uso in questione. Per esercitarti a scrivere query che risolvono problemi reali, segui uno dei progetti SQL guidati di Datacamp.
Posso usare SQL per costruire modelli di machine learning?
Sì, è possibile costruire modelli di machine learning con SQL. Google Cloud Platform (GCP), un popolare servizio di cloud computing, ha recentemente rilasciato un servizio che consente agli utenti di eseguire query SQL in Google BigQuery.
BigQuery è un data warehouse serverless utilizzato dalle organizzazioni per archiviare e gestire grandi quantità di dati. I dati in BigQuery sono archiviati sotto forma di database strutturati e relazionali.
BigQuery ML consente agli utenti di costruire modelli di machine learning direttamente in BigQuery usando SQL. Supporta algoritmi come regressione lineare, regressione logistica, XGBoost, clustering K-Means, ARIMA e reti neurali.
Per saperne di più sui servizi di cloud computing come GCP e su come funzionano, segui il corso Understanding Cloud Computing su Datacamp.

