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

Quanto tempo ci vuole per imparare SQL? I migliori consigli per imparare SQL

È difficile imparare SQL? Quanto tempo ci vuole per dominare SQL? Questo articolo risponderà a queste domande e vi farà conoscere i comandi SQL più utili.

Quanto tempo ci vuole per imparare SQL? Se vi siete mai dilettati con lo spagnolo o il francese, saprete che imparare una nuova lingua è difficile e può richiedere anni. Fortunatamente, acquisire padronanza con SQL è molto più rapido della conquista di por/para o di un, deux, trois.

È difficile stabilire quanto tempo sia necessario per imparare una determinata cosa. Non dipende solo dal vostro punto di partenza, ma anche dalla vostra apertura alle nuove informazioni, dal tempo che avete a disposizione e dalla vostra capacità di memorizzare le informazioni. Alcuni hanno superpoteri per interiorizzare e ricordare nuove conoscenze. Altri sono più simili al meno noto supereroe "L'uomo che dimentica tutto entro la mattina dopo".

A parte gli scherzi, siete venuti qui per avere una risposta seria a una domanda legittima. Volete capire quanto velocemente potete imparare SQL? Sveleremo presto questo numero magico.

Proprio come imparare a bollire un uovo, ad allacciare i lacci delle scarpe o a ballare come Bowie, l'apprendimento di SQL non avviene da un giorno all'altro. Ma con molta pratica e qualche settimana o mese di impegno, potrete aggiungere SQL al vostro bagaglio di strumenti digitali in un batter d'occhio.

In questo articolo esaminiamo i tre aspetti principali di SQL, alcune opzioni su come affrontare il vostro percorso di apprendimento di SQL e gli ostacoli che dovrete superare lungo il cammino.

Tenete a mente queste sagge parole:

Non è necessario essere grandi per iniziare, ma è necessario iniziare per essere grandi.

Più sai, più sai di non sapere.

woah

Questo è vero per ogni tipo di apprendimento. Una volta che vi sarete immersi in SQL per un po', comincerete a rendervi conto di quanto ci sia da imparare. Non lasciatevi scoraggiare. Una solida comprensione delle nozioni di base sarà molto utile, anche nell'ambito professionale.

Esistono tre "livelli" chiave di apprendimento di SQL. Pensate a quale gruppo appartenete e proseguite per quel cammino. Non c'è bisogno di raggiungere subito le stelle quando c'è tanto successo da ottenere qui sulla Terra.

Ecco i tre livelli di apprendimento di SQL:

1. SQL Basics

Ci sono buone notizie per chi ha poco tempo o motivazione: imparare i comandi SELECT, INSERT, UPDATE e DELETE di SQL significa essere in grado di usare SQL al 70%. Meglio ancora, avrete raggiunto questo punto di competenza in pochissimo tempo.

Ecco un esempio divertente.

Supponiamo di essere un'agenzia di lavoro interinale per supereroi e di avere un database delle nostre assunzioni attive e dei supereroi che vorremmo assumere. Questa tabella, chiamiamola Supereroi, potrebbe avere un aspetto simile a questo:

IDNameIsActiveHourly rateEmployeeType
1BatmanTrue10.95Full Time
2SupermanFalse8.50Part Time
3Wonder WomanTrue12.20Part Time
4The HulkTrue18.10Full Time
5Iron ManFalse13.45Part Time
6The WaspFalse10.90Full Time

Di quali basi SQL abbiamo bisogno per lavorare con queste informazioni?

SELECT

SELECT è il punto di partenza ideale per un principiante che voglia iniziare il suo viaggio in SQL. Un'istruzione SELECT si presenta in questo modo:

SELECT * FROM Superheroes

Poiché abbiamo usato SELECT * (l'asterisco * significa "tutte le colonne"), ogni colonna viene mostrata. Avremmo potuto usare una clausola WHERE per filtrare i dati, ma non l'abbiamo fatto; questo significa che tutte le righe della tabella vengono restituite nel risultato.

IDNameIsActiveHourlyRateEmployeeType
1BatmanTrue10.95Full Time
2SupermanFalse8.50Part Time
3Wonder WomanTrue12.20Part Time
4The HulkTrue18.10Full Time
5Iron ManFalse13.45Part Time
6The WaspFalse10.90Full Time

SELECT si usa quasi sempre con una clausola WHERE, che aiuta a specificare i dati che vogliamo vedere.

Se volessimo selezionare solo i supereroi che lavorano a tempo pieno, la query avrebbe questo aspetto:

SELECT * FROM Superheroes
WHERE EmployeeType = 'Full Time'
IDNameIsActiveHourlyRateEmployeeType
1BatmanTrue10.95Full Time
4The HulkTrue18.10Full Time
6The WaspFalse10.90Full Time

INSERT, UPDATE e DELETE consentono agli utenti di gestire i dati. L'aggiornamento o la manutenzione dei database richiede una conoscenza di base di SQL e le istruzioni INSERT, UPDATE e DELETE vi avvicineranno all' obiettivo di "conoscere" SQL.

Il corso di LearnSQL SQL Basics fornisce molte di queste conoscenze fondamentali. Per ora ci limiteremo a presentare INSERT, UPDATE e DELETE.

INSERT

Avete bisogno di aggiungere una o più righe a una tabella? INSERT fa al caso vostro. Può servire anche ad aggiungere righe da una tabella a un'altra.

Ecco la struttura di base di un'istruzione SQL INSERT:

INSERT INTO tableName (column1, column2, …)
VALUES (value1, value2, …)

Se volessimo usare INSERT per inserire l'Uomo Ragno nel nostro database di supereroi, faremmo così:

INSERT INTO Superheroes
           (Name
           ,IsActive
           ,HourlyRate
           ,EmployeeType)
     VALUES
           ('Spiderman'
           ,'True'
           ,14.10
           ,'Part Time')

Il risultato sarebbe questo:

IDNameIsActiveHourlyRateEmployeeType
1BatmanTrue10.95Full Time
2SupermanFalse8.50Part Time
3Wonder WomanTrue12.20Part Time
4The HulkTrue18.10Full Time
5Iron ManFalse13.45Part Time
6The WaspFalse10.90Full Time
7SpidermanTrue14.10Part Time

UPDATE

L'istruzione SQL UPDATE consente di modificare i valori delle colonne per una o più righe. Un'istruzione SQL UPDATE è tipicamente strutturata così:

UPDATE tableName
SET column1=value1, column2=value2,...
WHERE filterColumn=filterValue

Se volessimo mostrare che Iron Man è ora nei nostri registri e ha una nuova tariffa oraria di 18,5, l'istruzione UPDATE e il risultato sarebbero i seguenti:

UPDATE Superheroes
SET
	IsActive = 'True',
	HourlyRate = 18.5
WHERE
	ID = 5
IDNameIsActiveHourlyRateEmployeeType
1BatmanTrue10.95Full Time
2SupermanFalse8.50Part Time
3Wonder WomanTrue12.20Part Time
4The HulkTrue18.10Full Time
5Iron ManTrue18.50Part Time
6The WaspFalse10.90Full Time
7SpidermanTrue14.10Part Time

DELETE

DELETE rimuove una o più righe da una tabella. Se siete alle prime armi con SQL, assicuratevi di utilizzare un database di prova prima di provare questo comando, perché spesso non è possibile recuperare ciò che è stato cancellato!

Le istruzioni DELETE hanno generalmente questo aspetto:

DELETE tableName
WHERE  filterColumn=filterValue;

Se uno dei nostri supereroi viene a mancare prematuramente e abbiamo bisogno di rimuoverlo dal nostro database, facciamo così:

DELETE FROM Superheroes
WHERE ID = 5

Il risultato? Niente più Iron Man.

IDNameIsActiveHourlyRateEmployeeType
1BatmanTrue10.95Full Time
2SupermanFalse8.50Part Time
3Wonder WomanTrue12.20Part Time
4The HulkTrue18.10Full Time
6The WaspFalse10.90Full Time
7SpidermanTrue14.10Part Time

2. Funzioni Join di SQL

Le join SQL aggiungono un altro 10% di conoscenza alla vostra banca dati. Le join uniscono tabelle diverse in modo che i dati possano essere analizzati collettivamente.

Le join sono utili quando si hanno diverse categorie di dati che risiedono in tabelle diverse o quando si desidera confrontare i nuovi dati con quelli di un database esistente.

In SQL esistono diversi tipi di join. La struttura di base di un join è:

SELECT Columns
 FROM Table1
JOIN Table2 ON Table1.Column = Table2.Column

Continuando il nostro esempio, immaginiamo di voler sapere quale supereroe appartiene a quale Universo. Abbiamo una tabella chiamata SuperheroUniverse che contiene l'ID del supereroe e il nome dell'universo. Vogliamo unire le due tabelle in modo da poter visualizzare l'Universo quando eseguiamo una query sulla tabella Superhero.

La nostra SuperheroUniverse ha questo aspetto:

IDSuperheroIDUniverse
11DC
22DC
33DC
44Marvel
55Marvel
66Marvel
77Marvel

La nostra query di join ha questo aspetto:

SELECT Superheroes.ID, Name, SuperheroUniverse.Universe 
FROM Superheroes
JOIN SuperheroUniverse ON SuperheroUniverse.ID = Superheroes.ID

Ecco il risultato:

IDNameUniverse
1BatmanDC
2SupermanDC
3Wonder WomanDC
4The HulkMarvel
6The WaspMarvel
7SpidermanMarvel

Poiché entrambe le tabelle hanno un campo chiamato ID, abbiamo dovuto indicare esplicitamente quale colonna ID mostrare nei risultati. Nella parte Superheroes. ID della funzione SELECT, Superheroes si riferisce alla tabella e ID alla colonna. Lo stesso vale per la parte SuperheroUniverse. Nella parte Universe della funzione SELECT, SuperheroUniverse si riferisce alla tabella e Universe alla colonna. Lo si può vedere nella prima colonna dopo la funzione SELECT.

3. Il resto

E poi c'è il resto. In questa categoria rientrano tutti i "fronzoli" di SQL e, anche se non sono certo cose da sapere all'inizio, possono essere molto importanti.

Sapete come progettare uno schema di database funzionante? Come leggere un piano di esecuzione per una query? Quando usare una chiave naturale o una chiave surrogata? Tutte queste cose e molte altre ancora fanno parte della categoria "il resto". In termini di tempo di apprendimento, ci sono persone che lavorano con SQL da più di 10 anni e non conoscono tutto "il resto".

Non fatevi scoraggiare da questo. L'apprendimento è un lavoro lungo una vita; dove sarebbe il bello se si apprendesse tutto in un batter d'occhio?

Cosa deve sapere un principiante di SQL? È bene che acquisisca familiarità con quanto segue:

  • Comandi SQL di base come SELECT, INSERT, UPDATE e DELETE.
  • Semplici espressioni WHERE
  • I numerosi tipi di JOIN di SQL
  • GROUP BY, ORDER BY e HAVING
  • Sottoquery di base
  • Chiavi primarie e chiavi esterne

Vi sentite sopraffatti? Non c'è da preoccuparsi. Vedetela in questo modo. Gli anglofoni possono essere parlanti funzionali con un vocabolario di circa 5.000 parole. Potrebbero persino essere in grado di scrivere un romanzo con questo numero di parole. Ma possono definirsi Shakespeare o Twain? Ovviamente no. Essere competenti in SQL non significa avere tutte le risposte. È sufficiente conoscere circa il 5% di SQL per svolgere la maggior parte delle operazioni importanti.

Stabilito questo, qual è il numero magico? Quanto tempo ci vuole per imparare SQL? Sulla base della nostra esperienza collettiva, una buona dose di ricerca e una spruzzata di generalizzazione, ecco la nostra proiezione altamente non scientifica di quanto tempo ci vuole per imparare SQL:

  • Imparare e praticare le basi? Da un giorno a tre mesi.
  • Il resto? Non smetterete mai di imparare.

Ostacoli all'apprendimento di SQL

Chi è alle prime armi con SQL, anche se ha una grande esperienza nel campo dell'informatica, dovrà affrontare una serie di sfide. SQL è generalmente un linguaggio semplice da imparare, soprattutto perché utilizza comandi basati sul buon senso e sull'inglese. Tuttavia, ci sono alcuni ostacoli da superare:

Abituarsi a pensare per insiemi

Una cosa è imparare SQL per gestire uno o più database, ma prima potreste scoprire di dovervi abituare al mondo degli insiemi.

I database sono il cuore della maggior parte delle applicazioni e sono fatti per elaborare i dati in insiemi. Lo stesso SQL deve negoziare con i database utilizzando gli insiemi, per cui l'acquisizione di una mentalità basata sugli insiemi vi porterà molto lontano quando vi avvicinerete a SQL per la prima volta.

Se non avete familiarità con la teoria degli insiemi, fate prima un corso accelerato su Google: vi permetterà di avere più successo come studenti di SQL.

Quasi tutte le aree dell'informatica ruotano intorno agli insiemi, quindi prestare attenzione a questo argomento non sarà mai tempo sprecato.

Conoscenza teorica VS conoscenza nella realtà

Il secondo ostacolo all'apprendimento di SQL non è tanto una barriera quanto una trappola. Per capire SQL è necessario leggere molto. Dovrete leggere e imparare: gli enunciati di base, le premesse di base di SQL e come eseguire le query, la teoria degli insiemi e la progettazione dei database.

MA, una volta fatta un po' di lettura iniziale, il nostro consiglio è: mettetevi all'opera. Entrate in un database (preferibilmente di prova), create o trovate alcuni scenari e usate la vostra nuova conoscenza delle istruzioni SQL di base per giocare.

Il divario tra la conoscenza teorica e la conoscenza reale di SQL è notevole e dovrete fare attenzione a colmare questo divario con molti esercizi pratici.

Diventare esperti di progettazione di database

Potete diventare bravi quanto volete a eseguire istruzioni SQL e a lavorare con uno o più database. Ma se non si comprendono i principi di progettazione dei database, si finisce per creare e mantenere database disordinati e soggetti a problemi. Questi database sembrano lavorare contro di voi, non a vostro favore.

Prima di imboccare la strada di SQL, soffermatevi e imparate qualcosa sulla progettazione dei database.

Molti database sono creati da persone che non hanno molta esperienza nella progettazione e nello sviluppo di database. Purtroppo, questo porta spesso a decisioni tecniche che poi si rivelano non ottimali. Questo conduce molta frustrazione, molte soluzioni alternative e potenzialmente anche errori nei dati stessi.

Qual è il modo migliore per imparare SQL?

Indipendentemente dal tempo necessario per imparare SQL, l'esperienza sarà migliore se si seguono alcuni suggerimenti. Ecco i nostri tre consigli principali per rendere l'apprendimento di SQL rapido e indolore:

1. Iniziare con le basi

L'apprendimento degli aspetti più complessi di SQL può richiedere anni, infatti la maggior parte degli esperti di SQL afferma di non smettere mai di imparare. Non aspettatevi quindi di ottenere subito una medaglia d'oro in SQL. Non solo le basi sono facili e veloci da imparare, ma rappresentano anche una grossa fetta di ciò che vi servirà per utilizzare SQL a livello professionale.

Ognuno di noi è diverso, ma imparare le istruzioni SQL di base può richiedere da un paio d'ore a un paio di settimane. Possono essere necessari mesi per padroneggiarle, ma una volta compresi i concetti alla base di istruzioni come INSERT, UPDATE e DELETE, sarete in grado di utilizzarle nel mondo reale.

È meglio attenersi a SQL Basics finché non si ritiene di averne acquisito la padronanza. Se passate a comporre query complicate prima di essere pronti, potreste incorrere in grossi errori in seguito.

2. Seguire un corso online

Potete anche essere degli ottimi studenti autodidatti, ma quando imparate SQL da zero, rischiate di complicare troppo le cose. Le basi di SQL sono piuttosto semplici e molte persone vi hanno preceduto in questo percorso di apprendimento. Il modo più logico di procedere, quindi, è quello di seguire il sentiero ben battuto e assistere a un corso che insegni solo ciò che è necessario e che offra molte opportunità di esercitarsi.

3. Impegnarsi a fondo nell'apprendimento pratico

Imparare a pilotare un aereo? Eseguire un intervento chirurgico al cervello? Scindere atomi? Prima dovrete leggere un bel po'. Ma per SQL, la cosa migliore da fare è buttarsi e sporcarsi le mani. Trovate un database open source gratuito e iniziate a comporre ed eseguire query di base.

Se trovate un buon database di prova, studiatelo. Controllate il codice alla base delle diverse query e procedure. Vi accorgerete di aver imparato a comprendere SQL molto rapidamente. Gli esempi del mondo reale in un ambiente di database di prova sono il miglior strumento di formazione.

Per dirlo con le parole immortali di Ben Franklin:

"Dimmi e dimenticherò. Insegnami e mi ricordo. Coinvolgetemi e imparerò".

(Non sarebbe un articolo online senza Ben Franklin!).

Imparare SQL con Vertabelo

Quanto è difficile imparare SQL?

Beh, non lo conoscerete mai del tutto... non completamente. Proprio come si scoprono sempre nuove parole inglesi, ci sarà sempre qualche nuovo trucco SQL da padroneggiare. Detto questo, c'è un sacco da imparare e un'ampia conoscenza di base vi permetterà di diventare un vero utente di SQL in poche settimane.

Un ottimo punto di partenza è un corso SQL online. Trovatene uno che vi permetta di utilizzare subito il linguaggio. LearnSQL.it offre un fantastico corso SQL Basics che rende l'apprendimento di SQL facile e veloce. I suoi 129 esercizi interattivi permettono di fare esperienza pratica con i database e le istruzioni SQL.

Una volta che avrete imparato, date un'occhiata al nostro corso INSERT, UPDATE e DELETE. Questo corso amplierà la vostra conoscenza dei principali comandi SQL.

I database sono bestie complesse e il modo migliore per domarle è un po' di apprendimento, molta pratica e una ricerca continua su Google.

Prima iniziate, beh... prima arriverete a destinazione! Buona fortuna!