[:it]
Dato lo schema relazionale costituito dalle seguenti tabelle (le chiavi primarie sono sottolineate)
PERSONE(idpersona, CodFisc, Nome, Cognome, Indirizzo, Citta)
MULTE(IdMulta, idpersona, DataMulta, Somma)
Popolare il database con i seguenti dati:
id_persona | CodFisc | Nome | Cognome | Indirizzo | Citta |
---|---|---|---|---|---|
1 | BRGFNC68T18L736H | Giovanni | Capuano | Via dei Vanga 63 | Bolzano |
2 | ctrcfg57r19u584h | Mario | Rossi | Via rossi 34 | Bolzano |
3 | GHTERT87T2343J90 | Rosa | Gialla | Via Domenicani 54 | Bolzano |
ID_multa | Id_persona | DataMulta | Somma |
---|---|---|---|
1 | 1 | 19/12/2005 | € 60,00 |
2 | 2 | 08/12/2005 | € 56,00 |
3 | 1 | 08/12/2005 | € 78,00 |
4 | 3 | 08/12/2016 | € 100,00 |
5 | 3 | 07/12/2016 | € 58,00 |
6 | 1 | 08/12/2004 | € 48,00 |
7 | 2 | 15/01/2004 | € 52,00 |
8 | 2 | 12/02/2004 | € 48,00 |
Creare le seguenti query dandogli il nome query# con# il relativo punto di menù
- estrarre tutti i record della tabella persone
- estrarre tutti i record della tabella multe
- estrarre tutte le persone con la relativa multa
- estrarre la cifra totale delle multe prese dalle singole persone
- Calcolare il valore medio di tutte le multe comminate
- estrarre il nome delle persone che hanno preso delle multe nel 2005
- estrarre il nome delle persone che hanno preso delle multe nel 2016
- estrarre il nome delle persone che hanno preso delle multe nel 2014
- estrarre le multe solo del Sig. Capuano
- estrarre il nome delle persone che hanno preso una multa a dicembre del 2005
[:]
Il punto 4 è indubbiamente complesso: la soluzione è:
SELECT b.cognome, SUM(a.somma)
FROM multe AS A, persone AS B
WHERE a.idpersona=b.idpersona
GROUP BY a.idpersona, b.cognome
il punto 6, 7 e 8 segue il seguente criterio
SELECT
a.nome,
a.cognome,
b.datamulta
FROM
persone AS a,
multe AS b
WHERE
a.idpersona=b.idpersona
AND
b.datamulta between #01/01/2005# and #31/12/2005#