26th Jun 2024 Tempo di lettura: 6 minuti Imparate l'SQL in pausa pranzo Ignacio L. Bisso nozioni di base di sql come iniziare eLearning Indice SQL è facile: proviamo una query di base Domanda di lavoro: Una strategia per scrivere query SQL semplici Domanda di lavoro: Creiamo una coppia di query aggiuntive Domanda commerciale: Domanda commerciale: I prossimi passi Pensate che imparare SQL vi aiuterà nella vostra carriera? Avete ragione. SQL è uno dei linguaggi informatici più facili da imparare. Al giorno d'oggi molti dipendenti non informatici possiedono competenze in SQL e le utilizzano per ampliare le proprie capacità professionali. Inoltre, sempre più aziende incoraggiano i propri dipendenti di aree non IT (come le vendite, la pubblicità e le finanze) a imparare e utilizzare SQL. Uno dei vantaggi di dotare i dipendenti di competenze SQL è che una volta risposto a una domanda sui dati, i risultati genereranno una nuova domanda sui dati e poi forse una cascata di altre domande sui dati. Un dipendente non informatico in grado di rispondere a domande sui dati aziendali con SQL aumenterà le sue conoscenze sull'azienda e sulla produttività. Scegliete l'SQL e diventate un solido collaboratore della vostra azienda! SQL è facile: proviamo una query di base Sapete perché l'SQL è un linguaggio facile da imparare? Perché è molto simile al linguaggio naturale, in particolare all'inglese. La maggior parte degli altri linguaggi informatici richiede tecniche di programmazione complesse, ma SQL utilizza comandi relativamente semplici. In SQL è sufficiente descrivere i dati desiderati. Facile! Tuttavia, SQL ha bisogno di un database in cui i dati sono organizzati e memorizzati, ed è necessario conoscere un po' il database, anche se si conosce solo la parte del database a cui si è interessati. Vediamo un semplice esempio di database. Supponiamo di lavorare per un'azienda che ha in programma di creare filiali in alcuni nuovi paesi e città. Abbiamo bisogno di un database con tutti i paesi e le città del mondo, per poter ricercare le località migliori per la creazione delle nuove filiali. Il requisito per la creazione di una nuova filiale è che la capitale abbia una popolazione superiore a 4 milioni di abitanti. In un database, i dati dello stesso tipo sono raggruppati in tabelle. Nel nostro database di esempio abbiamo due tabelle: COUNTRIES e CITIES. Nell'immagine seguente è possibile vedere il database, ma non tutti i dati vengono mostrati. Esempio di COUNTRIES tabella NAMECONTINENTINDEPENDENCE_DAYOFFICIAL_LANGUAGE United StatesAmericas1796-07-04english FranceEurope1789-07-14french ArgentinaAmericas1816-07-09spanish BrasilAmericas1822-09-07portuguese Esempio di CITIES Tabella NAMEPOPULATIONCOUNTRYIS_CAPITAL Washington4543109United StatesYES New York8765998United StatesNO Paris12876371FranceYES Buenos Aires3853728ArgentinaYES Rio de Janeiro5873422BrasilNO Possiamo considerare ogni query come un caso aziendale, dove il punto di partenza è una domanda aziendale a cui rispondere utilizzando i dati del database. Lo strumento per estrarre la risposta dal database è una query SQL. Per ogni diversa domanda aziendale è necessario creare una query SQL diversa. Domanda di lavoro: Quali sono tutte le capitali del mondo con una popolazione superiore a 4.000.000 di abitanti? Di seguito è riportata la query SQL per rispondere a questa domanda. SELECT NAME FROM CITIES WHERE IS_CAPITAL = 'YES' AND POPULATION > 4000000 Come si può notare, questa query è molto semplice e, se la si legge, sembra una frase in inglese che descrive esattamente i dati che stiamo cercando. In base ai dati mostrati prima, il risultato di questa query sarà NAME Washington Paris Una strategia per scrivere query SQL semplici Secondo la mia esperienza personale, dopo alcuni anni di lavoro con SQL, il modo migliore e più semplice per imparare a creare le prime query in SQL è seguire un processo mentale di tre domande. Cercherò di spiegare il processo mentale che seguo quando creo una query SQL. Come abbiamo già detto, il nostro punto di partenza è una domanda di lavoro. Domanda di lavoro: Quali sono i nomi dei Paesi in cui l'inglese è la lingua ufficiale? Il processo per risolvere questa domanda è il seguente: Primo passo: Ponetevi questa domanda: Dispongo di una tabella con tutti i dati necessari per rispondere a questa domanda di lavoro? Se sì, qual è questa tabella? Il nome della tabella deve essere inserito nella clausola FROM. Il risultato di questo passaggio è: FROM COUNTRIES. Congratulazioni, avete già la clausola FROM della query! Lezione appresa: Ogni query SQL ha bisogno di una clausola FROM seguita dalla tabella da cui vengono presi i dati. Secondo passo: Una volta identificata la tabella con cui lavorare, è necessario pensare alla clausola WHERE. Chiedetevi: quali sono i record (righe) della tabella di cui ho bisogno? Che cosa hanno in comune? Come posso definire una condizione (come IS_CAPITAL = 'YES') per questi record? Per la nostra domanda particolare, la condizione è: WHERE OFFICIAL_LANGUAGE = 'english'. Lezione appresa: In una query SQL, la clausola WHERE viene utilizzata per isolare i record che si stanno cercando. La clausola WHERE necessita di una condizione, come OFFICIAL_LANGUAGE = 'english'. Altre condizioni possono essere più complesse. Terzo passo: Quali dati si stanno cercando: la città NAME, il sito POPULATION, o forse entrambi? Tutti questi dati devono essere presenti nell'elenco SELECT. Nel nostro esempio sarà SELECT NAME, perché stiamo cercando solo il nome del paese. Lezione appresa: Ogni query SQL necessita di una clausola SELECT seguita da tutte le colonne che si desidera estrarre dalla tabella. Quindi, una volta ottenuti i tre pezzi della nostra query, dobbiamo metterli insieme. I pezzi ottenuti DEVONO essere nel seguente ordine: SELECT NAME FROM COUNTRIES WHERE OFFICIAL_LANGUAGE = 'english' Creiamo una coppia di query aggiuntive Se avete completato la sezione precedente, conoscete già le basi di una query SQL. Continuiamo con una coppia di query con un ulteriore livello di complessità. La prima query prevede una clausola WHERE più complessa. Supponiamo che il vostro capo voglia un elenco di città in cui la vostra azienda potrebbe aprire nuove filiali. Si vogliono considerare solo le città degli Stati Uniti con una popolazione superiore a 1.000.000 di abitanti. L'elenco dovrebbe escludere New York e Washington, D.C., perché la vostra azienda ha già delle filiali in quelle città. Domanda commerciale: Quali sono i nomi delle città degli Stati Uniti con una popolazione superiore a 1.000.000 di abitanti? Seguendo la tecnica appresa nella sezione precedente, il primo e il terzo passo sono davvero facili da eseguire. I risultati di questi passaggi sono riportati di seguito: Primo passo: Questo passo è molto semplice e dà come risultato l'affermazione: FROM CITIES Secondo passo: Per questa domanda di business, questo è il passo più complesso da risolvere. Vediamo come risolverlo. Per questa query dobbiamo utilizzare un connettore logico chiamato AND. Forse vi ricordate di AND a scuola. Vogliamo trovare le città che soddisfano le tre condizioni seguenti: COUNTRY = 'United States' POPULATION > 1000000 NAME NOT IN ('New York', 'Washington') Se poi colleghiamo tutte queste condizioni utilizzando AND, otteniamo il seguente risultato: WHERE COUNTRY = 'United States' AND POPULATION > 1000000 AND NAME NOT IN ('New York', 'Washington') Terzo passo: Anche questo passo è molto semplice: SELECT NAME Quindi, mettendo insieme tutti i pezzi, la query completa sarà: SELECT NAME FROM CITIES WHERE COUNTRY = 'United States' AND POPULATION > 1000000 AND NAME NOT IN ('New York', 'Washington') L'esempio finale di query sarà mostrato in modo più conciso. L'interpretazione può essere letta dal codice SQL stesso. Domanda commerciale: Quali sono i nomi di tutti i paesi di lingua spagnola nelle Americhe che sono stati fondati nel XVII secolo? SELECT NAME, INDEPENDENCE_DAY FROM COUNTRIES WHERE CONTINENT = 'Americas' AND INDEPENDECE_DAY BETWEEN '1700-01-01' AND '1800-12-31' AND OFFICIAL_LANGUAGE = 'spanish' I prossimi passi I primi passi con l'SQL sono molto semplici: è possibile eseguire la prima query in poche ore o addirittura in pochi minuti. Se volete imparare a creare query SQL, LearnSQL.it ha una lunga esperienza nell'aiutare i non informatici a imparare SQL. Tags: nozioni di base di sql come iniziare eLearning