Sei sulla pagina 1di 4

Capitolo 1

Introduzione alle query

Prime elementari regole

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:

• SELECT
• FROM
• WHERE

‘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

ESERCIZI (capitolo 1)

1. Le seguenti query non funzionano. Perché?


a. Select * from persone
b. Select *
c. Select nome cognome FROM persone;

2. Le seguenti istruzioni forniscono lo stesso risultato?

SELECT * FROM PERSONE;


select * from persone;

3. Quale delle seguenti istruzioni SQL è corretta?


a. select * from persone;
b. select * from persone
/
c. select *
from persone;

4. Utilizzando la tabella sottostante scrivere una query per selezionare soltanto il contenuto delle
colonne ETA e NOME.
ANAGRAFICA

NOME COGNOME ETA

Giovanni Bruni 62

Antonio Rossi 43
Mario Rossi 49

Piero Bianchi 37

Esmeralda Gnocca 31

6.
7. Dalla tabella sottostante estrapolare, senza ripetizioni, le squadre di calcio presenti.
TIFOSERIA

NOME COGNOME SQUADRA_APPARTENENZA

ARTURO ROSSI LAZIO

GIOVANNI ROSSI LAZIO

MARIO ROSSI LAZIO

MARIA MARCHETTI NAPOLI

MARIA MARCHETTI ROMA

9.
10. La seguente query è giusta? e se sbagliata, perché?

SELECT NOME, DISTINCT SQUADRA_APPARTENENZA


FROM TIFOSERIA;

11. La seguente query è giusta? e se sbagliata, perché?

SELECT DISTINCT COGNOME, NOME


FROM TIFOSERIA;

12. La seguente query è giusta? e se sbagliata, perché?

SELECT DISTINCT *
FROM TIFOSERIA;