Capitolo 1
La sintassi del linguaggio SQL è abbastanza flessibile, sebbene ci siano delle regole da rispettare come in qualsiasi linguaggio di programmazione.
SELECT COGNOME, NOME
FROM PRESIDENTE
WHERE COGNOME = ‘Pertini’
In questo esempio tutti i caratteri, a parte ‘Pertini’, sono scritti in maiuscolo, ma non deve essere necessariamente così. Avremmo potuto anche scrivere così:
select cognome, nome
from presidente
where cognome = ‘Pertini’
si noti però che ‘Pertini’ è scritto sempre nello stesso modo, infatti i riferimenti ai contenuti di un database devono essere scritti con lo stesso tipo di caratteri in cui sono stati registrati.
Le parole chiave che abbiamo usato nella query sono:
‘cognome’ e ‘nome’ sono dei campi e ‘presidente’ è una tabella. Quindi il comando recita: seleziona visualizzandoli, i campi cognome e nome della tabella presidente la dove cognome = ‘Pertini’.
Esempio:
ASSEGNI |
|||
Assegno | Beneficiari | Importo | Note |
1 | Computer Shop | 500.000 | Stampante |
2 | Assicurazioni ASSO | 954.000 | Assicurazioni automobili |
3 | SNAM | 650.000 | Riscaldamento casa |
4 | Supermarket GS | 490.000 | Alimentari |
5 | Scuola | 490.000 | Scuola di musica |
con l’espressione:
select * from assegni;
si ottiene:
Assegno | Beneficiari | Importo | Note |
1 | Computer Shop | 500.000 | Stampante |
2 | Assicurazioni ASSO | 954.000 | Assicurazioni automobili |
3 | SNAM | 650.000 | Riscaldamento casa |
4 | Supermarket GS | 490.000 | Alimentari |
5 | Scuola | 490.000 | Scuola di musica |
L’asterisco (*) di select * indica al database di fornire tutte le colonne associate alla tabella specificata dalla clausola FROM.
Come termina una istruzione SQL:
In alcune implementazioni si usa il punto e virgola (;) in altre il punto e virgola o lo slash (/).
Selezionare le colonne o cambiare l’ordine di apparizione
Esempi:
con l’espressione:
select importo, assegno from assegni;
dalla tabella precedente si ottiene:
Importo | Assegno |
500.000 | 1 |
954.000 | 2 |
650.000 | 3 |
490.000 | 4 |
490.000 | 5 |
Clausola DISTINCT (query senza duplicati)
Esaminando il contenuto del campo Importo della tabella ASSEGNI, si potrà notare che il valore 490.000 appare due volte. Possiamo visualizzare tale colonna facendo comparire i valori ripetuti una sola volta:
select distinct Importo from ASSEGNI;
Importo |
500.000 |
954.000 |
650.000 |
490.000 |
Altro esempio:
DOCENTI |
||
Nome | Cognome | Materia |
Lara | Bianco | Italiano |
Lara | Bianco | Storia |
Mario | Guidi | Diritto |
Mario | Guidi | Economia |
Anna | Rossi | Matematica |
Con l’espressione:
SELECT DISTINCT NOME, COGNOME
FROM DOCENTI;
si ottiene:
Nome | Cognome |
Lara | Bianco |
Mario | Guidi |
Anna | Rossi |
ANAGRAFICA |
NOME |
COGNOME |
ETA |
Giovanni |
Bruni |
62 |
Antonio | Rossi | 43 |
Mario | Rossi | 49 |
Piero | Bianchi | 37 |
Esmeralda | Gnocca | 31 |
TIFOSERIA |
NOME |
COGNOME |
SQUADRA_APPARTENENZA |
ARTURO | ROSSI | LAZIO |
GIOVANNI | ROSSI | LAZIO |
MARIO | ROSSI | LAZIO |
MARIA | MARCHETTI | NAPOLI |
MARIA | MARCHETTI | ROMA |
SELECT DISTINCT COGNOME, NOME
FROM TIFOSERIA;
SELECT DISTINCT *
FROM TIFOSERIA;
Soluzioni agli esercizi del Capitolo 1
pag. 2 di 20 |