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

5 lezioni SQL da imparare prima della fine dell'anno

Molti studenti di SQL rimangono bloccati tra il livello principiante e quello intermedio: le query funzionano, ma non sempre come previsto. Queste cinque lezioni colmano le lacune che la maggior parte degli studenti ancora presenta e rafforzeranno le tue conoscenze di SQL prima della fine dell'anno.

Con l'avvicinarsi della fine dell'anno, molti studenti iniziano a riflettere su ciò che hanno realizzato e su ciò che devono ancora imparare. Se studi SQL da un po' di tempo, probabilmente hai già scritto alcune query, unito alcune tabelle e filtrato i risultati. Ma, se sei onesto, ci sono ancora alcune cose che ti mettono a disagio.

È normale. Ogni studente di SQL raggiunge questa fase, a metà strada tra il livello principiante e quello intermedio, in cui è in grado di scrivere query che funzionano, ma non sempre capisce perché funzionano. È possibile ottenere una risposta, ma non sempre quella giusta.

Nel corso degli anni, ho notato che la maggior parte degli studenti tende a non possedere le stesse cinque competenze. Non si tratta di argomenti avanzati, ma sono quelli che ti rendono sicuro, flessibile e pronto per il lavoro con i dati nel mondo reale. Quindi, prima che finisca l'anno, ecco cinque lezioni di SQL che vale la pena padroneggiare.

1. Imparare finalmente LEFT JOIN e FULL JOIN

I principianti di solito imparano bene INNER JOIN, ma LEFT JOIN e FULL JOIN rimangono spesso un mistero. Molti studenti li evitano perché non capiscono come funzionano e, soprattutto, non riconoscono quando sono effettivamente necessari.

Tuttavia, nei database reali, i dati sono raramente completi. I clienti non sempre hanno ordini. I prodotti non sempre hanno recensioni. Ecco perché questi join sono importanti: ti consentono di analizzare dati completi, non solo dati perfetti.

Nella vita reale, è importante capire come LEFT JOIN e FULL JOIN funzionano e quando usarli:

  • LEFT JOIN restituisce tutte le righe della tabella sinistra (la prima), anche se non ci sono corrispondenze nell'altra tabella.
  • FULL JOIN restituisce tutte le righe da entrambe le tabelle, anche se non ci sono corrispondenze su entrambi i lati.

Esempio:

SELECT 
  c.customer_id, 
  c.name, 
  o.order_id
FROM customers c
LEFT JOIN orders o 
ON c.customer_id = o.customer_id;

Questa query elenca tutti i clienti, compresi quelli che non hanno effettuato alcun ordine, cosa che un INNER JOIN potrebbe sfuggire.

È ora di stringere i denti e imparare finalmente questi join. Una volta fatto, le tue analisi diventeranno molto più accurate e complete.

Dove impararlo:

Il nostro corso SQL JOIN offre un'ampia pratica con ogni tipo di join: oltre 90 esercizi guidati e non guidati incentrati interamente sulla padronanza dei join. Imparerai a riconoscere quale join utilizzare in ogni scenario e acquisirai la sicurezza necessaria per gestire query complesse senza dover tirare a indovinare. Se questo mese vuoi migliorare un concetto, scegli questo.

2. HAVING: smettila di confonderlo con WHERE

Un altro concetto cosiddetto "intermedio" è HAVING. L'ho messo tra virgolette perché qualsiasi professionista SQL riderebbe se lo definissi avanzato, ma per molti principianti è uno dei concetti più difficili da padroneggiare.

HAVING è usato per filtrare gruppi, non singole righe. Ti aiuta a lavorare con condizioni aggregate come conteggi, somme o valori massimi, il tipo di logica che userai in quasi tutte le query analitiche.

Capire quando usare WHERE e quando utilizzare HAVING è fondamentale per un'analisi seria:

  • Utilizza WHERE per filtrare le righe prima di
  • Utilizzare HAVING per filtrare i gruppi dopo

Imparare HAVING ti permette anche di comprendere meglio come i database elaborano internamente le query: questa conoscenza è preziosa per ottimizzare o eseguire il debug del tuo codice.

Esempio:

SELECT product_id, COUNT(*) AS total_orders
FROM sales
GROUP BY product_id
HAVING COUNT(*) > 100;

Questa query trova i prodotti con più di 100 vendite, cosa che WHERE non può gestire, perché i gruppi non esistono fino a dopo il raggruppamento.

Dove impararlo:
il nostro corso SQL GROUP BY Practice offre decine di esercizi incentrati sul raggruppamento, l'aggregazione e HAVING. È il modo più veloce per smettere di indovinare quando utilizzare ciascuna clausola e iniziare a scrivere query analitiche corrette con sicurezza.

3. Come funzionano realmente i confronti con NULL

Questo sembra semplice, finché i risultati non hanno senso. Questi errori non comprometteranno la query, ma forniranno silenziosamente risposte errate, il che è ancora peggio.

L'esempio più semplice: scrivi WHERE email = NULL e non ottieni alcun risultato. Uno più subdolo: WHERE age > 18 questo escluderà i clienti la cui età non è impostata.

Questo perché NULL non si comporta come gli altri valori. Rappresenta "sconosciuto" e il confronto di qualsiasi cosa con "sconosciuto" non restituisce mai TRUE. SQL utilizza la logica a tre valori: TRUE, FALSE, e UNKNOWN. Comprendere come SQL gestisce NULL ti evita errori logici silenziosi. = NULL valuta sempre UNKNOWN, quindi non filtra nulla. Ecco perché è necessario utilizzare IS NULL or IS NOT NULL.

Per trovare gli utenti senza indirizzo e-mail, scrivere:

WHERE email IS NULL

Per trovare gli utenti che hanno un indirizzo e-mail, scrivi:

WHERE email IS NOT NULL

Si tratta di una piccola modifica, ma comprenderla significa acquisire una delle regole fondamentali di SQL, qualcosa a cui molti sviluppatori non pensano mai.

Per approfondire il funzionamento di NULL e il motivo per cui i confronti possono essere complicati, leggi il nostro articolo Operatori di confronto NULL in SQL.

Dove impararlo:

Il nostro corso Funzioni SQL standard include un modulo dedicato a NULL. Imparerai come evitare errori comuni con valori mancanti e come utilizzare funzioni come COALESCE, IFNULLe NULLIF per gestirli correttamente. Questo corso ti aiuterà a capire come NULL si comporta nelle espressioni e negli aggregati, in modo che le tue query restituiscano sempre risultati accurati.

4. Sottquery correlate

Alcuni principianti amano le sottoquery e cercano di fare tutto con esse. Altri ne hanno paura e le evitano completamente. Ma una cosa è quasi universale: sia i principianti che molti utenti intermedi temono le sottoquery correlate.

Le sottoquery correlate sono sottoquery che fanno riferimento alla query esterna e non possono essere eseguite autonomamente. Dipendono dalla riga corrente della query esterna, il che le rende più complesse e più potenti.

Questo è ciò che conferisce loro la loro forza: è possibile risolvere problemi che altrimenti richiederebbero più passaggi o tabelle temporanee. D'altra parte, per utilizzarle correttamente è necessario comprendere come un database elabora una query, passo dopo passo.

Esempio:

SELECT name, department_id, salary
FROM employees e
WHERE salary > (
  SELECT AVG(salary)
  FROM employees
  WHERE department_id = e.department_id
);

Questa query trova i dipendenti che guadagnano più dello stipendio medio nel loro reparto, un'attività comune nel mondo reale che è difficile da esprimere senza una sottoquery correlata.

Vale la pena impararlo, anche se all'inizio può sembrare intimidatorio. Una volta compreso il funzionamento delle sottoquery correlate, vi renderete conto che aprono le porte a un livello completamente nuovo di risoluzione dei problemi SQL.

Dove impararlo:

Il nostro corso SQL Subqueries ti aiuta a passare da "Capisco più o meno le sottoquery" alla scrittura sicura di sottoquery sia semplici che correlate. Offre un'ampia pratica hands-on e un feedback immediato, così imparerai quando e come utilizzare ciascun tipo vedendo come SQL li elabora passo dopo passo. Una volta padroneggiato questo concetto, gran parte dell'SQL ti risulterà improvvisamente chiaro.

5. Come esplorare un database

Questa è una delle competenze che distingue gli utenti SQL principianti da quelli intermedi e avanzati. I principianti possono scrivere query quando conoscono già la struttura di un database, ma quando si trovano di fronte a uno sconosciuto, spesso non sanno da dove cominciare. Non sempre si dispone di un diagramma o di una documentazione che spiega come tutto è collegato.

La maggior parte dei corsi SQL salta completamente questa parte, ma è essenziale per il lavoro nel mondo reale. Sapere come esplorare un database da soli ti dà indipendenza e sicurezza. Sarai in grado di trovare i dati giusti, comprendere le relazioni tra le tabelle e pianificare le tue query senza aspettare che qualcuno ti spieghi la struttura.

Ecco come si presenta l'esplorazione di un database nella pratica:

  • Identifica quali tabelle e colonne esistono: inizia imparando la struttura generale del database.
  • Trova le tabelle e le colonne giuste: individua dove sono memorizzati i dati rilevanti per la tua analisi.
  • Esamina alcune righe di esempio: esegui
    SELECT * FROM customers LIMIT 5;
    per vedere come sono i dati.
  • Controlla il numero di righe: comprendi quanto è grande ogni tabella.
  • Osservare i valori minimi e massimi: farsi un'idea degli intervalli di dati (ad esempio, date più recenti e più remote).
  • Esamina la distribuzione dei valori: individua i duplicati, i valori mancanti o gli outlier.
    Disegna il tuo diagramma: mappa le relazioni tra le tabelle per visualizzare come si integrano i dati del database.

Se desideri una guida pratica a questo processo, leggi Come esplorare un database: il progetto Northwind, che mostra in dettaglio ogni passaggio utilizzando un set di dati reale.

Dove impararlo:

Il nostro corso SQL Databases for Practice ti consente di esplorare database reali in tutta sicurezza. Non è un corso con esercizi, ma una sandbox di database di esempio con cui puoi giocare. Esplorerai la struttura da solo, formulerai le tue domande e troverai le risposte da solo.

Se l'esplorazione dei database ti intimorisce, questo corso eliminerà completamente questa paura.

Hai paura di iniziare? Dai un'occhiata ai nostri corsi guidati nella sezione Track Pratica su SQL. Includono esercizi tipici su molti database. Una volta che ti sentirai più sicuro, torna al corso SQL Databases for Practice ed esplora liberamente.

Conclusione dell'anno: perché queste cinque lezioni sono importanti

Queste lezioni non sono "belle da avere". Sono i concetti fondamentali che ti trasformano da principiante in grado di seguire le istruzioni ad analista in grado di risolvere i problemi in modo indipendente.

Pensa a cosa ti offre la loro padronanza:

  • Puoi combinare dati provenienti da più fonti senza interrompere le query.
  • Potrai analizzare correttamente i dati raggruppati.
  • Potrai gestire i valori mancanti senza errori silenziosi.
  • Potrai utilizzare le sottoquery per rispondere in modo elegante a domande complesse.
  • Potrai esplorare nuovi database con sicurezza.

Queste sono le competenze che ti rendono utile in qualsiasi team basato sui dati.

Come utilizzare questo elenco:

Non affrettarti a imparare tutte e cinque le competenze contemporaneamente. Scegli un concetto, dedicagli alcuni giorni di studio intensivo e esercitati finché non ti verrà naturale. Poi passa al successivo. Se inizi ora, potrai padroneggiare comodamente tutte e cinque le competenze prima della fine dell'anno.

Entro il 31 dicembre, non solo capirai meglio l'SQL, ma lo userai come fanno i professionisti.

Finisci alla grande

Non hai bisogno di un proposito per l'anno nuovo per migliorare le tue competenze. Queste cinque lezioni sono piccole vittorie di grande impatto che la maggior parte degli studenti trascura, ed è proprio per questo che padroneggiarle ora ti dà un vantaggio.

Se desideri accedere a tutti i corsi menzionati qui, dai un'occhiata al nostro Pacchetto Completo per sempre SQL. Include tutti i corsi attualiLearnSQL.it e futuri in un unico acquisto, senza abbonamento e senza scadenza. È il miglior investimento a lungo termine per chiunque voglia seriamente padroneggiare l'SQL.

Scegli una lezione, inizia oggi stessoLearnSQL.it e concludi l'anno con la consapevolezza di aver finalmente colmato le lacune che ti impedivano di progredire. Le tue query future (e il tuo io futuro) te ne saranno grati.