2.1 Introduzione a SQL

Se disponi di un database (DB) e al suo interno una tabella con alcuni dati, l'attività più comune è trovare determinati dati in questa tabella. Questo è ciò per cui SQL è stato inventato 40 anni fa.

SQL è l'acronimo di Structured Query Language .

La query SQL più semplice è simile a questa:

SELECT column1, column2, … columnN FROM table

Supponiamo che tu abbia una tabella dei dipendenti con un elenco dei dipendenti della tua startup:

id nome occupazione stipendio età data di iscrizione
1 Ivanov Ivan Programmatore 100.000 25 2012-06-30
2 Petrov Petr Programmatore 80.000 23 2013-08-12
3 Sergej Ivanov Tester 40.000 trenta 2014-01-01
4 Rabinovich Moisha Direttore 200.000 35 2015-05-12
5 Kirienko Anastasia Capo ufficio 40.000 25 2015-10-10
6 Vasca gatto 1.000 3 2018-01-01

Vuoi scrivere una query che employee namesli visualizzi anche salaries, quindi devi scrivere una query:

SELECT name, salary FROM employee

Otterrai il risultato della query:

nome stipendio
Ivanov Ivan 100.000
Petrov Petr 80.000
Sergej Ivanov 40.000
Rabinovich Moisha 200.000
Kirienko Anastasia 40.000
Vasca 1.000

Se vuoi visualizzare tutte le colonne della tua tabella , invece di elencare i nomi di tutte le colonne, puoi semplicemente scrivere un asterisco. Esempio:

SELECT * FROM employee

Otterrai il risultato della query:

id nome occupazione stipendio età data di iscrizione
1 Ivanov Ivan Programmatore 100.000 25 2012-06-30
2 Petrov Petr Programmatore 80.000 23 2013-08-12
3 Sergej Ivanov Tester 40.000 trenta 2014-01-01
4 Rabinovich Moisha Direttore 200.000 35 2015-05-12
5 Kirienko Anastasia Capo ufficio 40.000 25 2015-10-10
6 Vasca gatto 1.000 3 2018-01-01

2.2 Visualizzazione avanzata della query SQL

Il linguaggio SQL è stato progettato nel modo più intuitivo possibile.

Innanzitutto, il caso del testo della richiesta non ha importanza . Puoi scrivere SELECT, Select o select e tutto funzionerà. In secondo luogo, le interruzioni di riga non vengono in alcun modo prese in considerazione . Il DBMS trasformerà comunque la query in una lunga stringa, quindi puoi scriverla come preferisci.

Come probabilmente avrai già intuito, le parole chiave SELECT e FROM non sono limitate. Altrimenti non si parlerebbe tanto di SQL. La visualizzazione estesa della query SQL è simile alla seguente:

SELECT columns
FROM table
WHERE condition
GROUP BY columns
HAVING columns
ORDER BY sorting

Con l'aiuto di una parola chiave, WHEREpuoi impostare una condizione/filtro per le righe selezionate.

Esempio 1 . Scriviamo una query che selezionerà i dipendenti con la professione "Programmatore":

SELECT * FROM employee WHERE occupation = 'Programmer'

E otteniamo il seguente risultato della query:

id nome occupazione stipendio età data di iscrizione
1 Ivanov Ivan Programmatore 100.000 25 2012-06-30
2 Petrov Petr Programmatore 80.000 23 2013-08-12

Come puoi vedere, come risultato dell'esecuzione della query, vengono visualizzate solo le righe in cui la professione del dipendente è denominata "Programmatore".

Le parole chiave GROUP BY, ORDER BYe HAVINGle tratteremo nelle prossime lezioni. E in questo analizzeremo un altro paio di esempi con la parola DOVE.

Esempio 2 . Ora scriviamo una query che ci mostrerà tutti i dipendenti con uno stipendio superiore a 100K. Ecco come sarà:

SELECT * FROM employee WHERE salary > 100000

Otteniamo il seguente risultato della query:

id nome occupazione stipendio età data di iscrizione
4 Rabinovich Moisha Direttore 200.000 35 2015-05-12

Esempio 3 . Ora proviamo qualcosa di più difficile. Come visualizzare tutti i dipendenti che sono stati assunti nel 2015? E così:

SELECT * FROM employee WHERE YEAR(join_date) = 2015

Otteniamo il seguente risultato della query:

id nome occupazione stipendio età data di iscrizione
4 Rabinovich Moisha Direttore 200.000 35 2015-05-12
5 Kirienko Anastasia Capo ufficio 40.000 25 2015-10-10

In questa query utilizziamo una funzione speciale YEAR()che ci consente di ottenere l'anno da una data e quindi confrontare l'anno della data con il numero 2015.

2.3 Commenti nelle interrogazioni SQL

E un altro punto importante sono i commenti nelle query SQL. I commenti sono una cosa molto utile. In primo luogo, puoi scrivere spiegazioni e / o le tue idee al loro interno. In secondo luogo, con l'aiuto dei commenti, puoi disabilitare il codice non funzionante. Oppure commenta la vecchia versione del codice.

SQL, come Java, ha commenti a riga singola e multilinea. Inoltre, un commento su più righe ha lo stesso aspetto di Java. Il suo aspetto:


/*
 	comment text
 	comment text
 	comment text
*/
        

Naturalmente, può essere utilizzato anche in una riga. Esempio:


/*comment text*/
        

Esiste anche un tipo di commento "dall'inizio alla fine della riga", simile a Java "//". Solo in SQL devi scrivere due caratteri meno e uno spazio . Vista generale di un tale commento:

-- comment text

Esempio:


        SELECT * FROM employee -- WHERE YEAR(join_date) = 2015 
        

Nell'esempio sopra, abbiamo commentato la condizione della query, quindi MySQL eseguirà solo la query:

SELECT * FROM employee

2.4 pronuncia SQL

Se comunichi con clienti stranieri o superi un colloquio online per un'azienda americana, ti potrebbe essere chiesto della tua esperienza con la lingua del sequel . Dirai onestamente che non hai lavorato con lui e boccerai immediatamente il colloquio.

E il fatto è che il linguaggio SQL era originariamente chiamato SEQUEL, che si pronuncia come un sequel (ˈsēkwəl), quindi molto spesso negli Stati Uniti e in altre fonti in lingua inglese non sentirai "escuel", ma "sequel". Viene scritto SQL e viene letto il seguito. Ecco un tale paradosso storico.