Capitolo 4
ESERCIZI
1) È corretta questa query? se giusta o sbagliata, spiegare il perché.
SELECT COGNOME, AVG(STIPENDIO), REPARTO
FROM DIPENDENTI
WHERE REPARTO = ‘VENDITE’
ORDER BY COGNOME
GROUP BY REPARTO;
2) Si può applicare la clausola ORDER BY a una colonna che non appare fra quelle citate nell’istruzione
SELECT ?
3) Quando usiamo la clausola HAVING, dobbiamo necessariamente utilizzare anche la clausola GROUP BY ?
4) Si può applicare l’istruzione SELECT a una colonna che non appare fra quelle citate nella clausola GROUP BY ?
5) Scrivere una query che ci permetta di estrapolare da una tabella contenente dati su libri, quei generi in cui non sono presenti libri con prezzo inferiore o uguale a £10.000.
Quanto detto, significa in parole più semplici, che dobbiamo visualizzare quei generi dove non ci sono libri il cui costo sia uguale o inferiore a £ 10.000. Se ad esempio il libro Le Crociate che appartiene al genere di Storia costa £ 9.500, non dovrà apparire nella select il genere Storia.
LIBRI (TITOLO, AUTORE, GENERE, PREZZO, EDITORE)
6) Se applicassimo la seguente select
SELECT DIVISIONE
FROM DIPENDENTI
GROUP BY DIVISIIONE
HAVING MAX(STIPENDIO) < 4 800 000 ;
alla tabella DIPENDENTI, indicare quali sarebbero le divisioni estrapolate.
DIPENDENTI |
||||
NOME -------------------- |
DIVISIONE ----------------------------- |
STIPENDIO ------------------ |
GIORNI_MUTUA ------------------------- |
FERIE_GODUTE ------------------------- |
ROSSI | VENDITE | 2 000 000 |
33 |
5 |
BIANCHI | VENDITE | 2 100 000 |
1 |
0 |
BRUNI | RICERCA | 3 300 000 |
0 |
9 |
VERDI | ACQUISTI | 1 800 000 |
32 |
20 |
GIALLI | RICERCA | 4 800 000 |
0 |
0 |
NERI | RICERCA | 3 400 000 |
2 |
1 |
MANCINI | AMMINISTRAZIONE | 2 400 000 |
9 |
24 |
MARCHETTI | VENDITE | 2 000 000 |
99 |
12 |
7) Scrivere una select che ci permetta di estrapolare, dalla tabella DIPENDENTI, le divisioni in cui non
compaiono lavoratori che non hanno goduto di giorni di ferie. Ovvero, bisogna visualizzare solo quelle
divisioni dove non c’è neanche un dipendente con zero giorni di ferie.
8) Scrivere una query che, dalla tabella ASSEGNI, ci permette di estrapolare i beneficiari che gli è stato
versato perlomeno un assegno di cifra superiore alle 400 000.
ASSEGNI |
|||
ASSEGNO |
BENEFICIARIO --------------------------------------- |
IMPORTO ------------------- |
NOTE --------------------------------------- |
1 | COMPUTER SHOP | 50 000 |
DISCHETTI E CD-ROM |
2 | LIBRERIE CULTURA | 245 000 |
LIBRI, CANCELLERIA |
3 | COMPUTER SHOP | 200 000 |
TELEFONO CELLULARE |
4 | BIOGAS SRL | 88 000 |
GAS |
5 | SUPERMARCHET GS | 150 000 |
ALIMENTARI |
16 | ASSICURAZIONI ASSO | 425 000 |
ASSICURAZIONE CASA |
17 | GAS S.P.A. | 25 000 |
GAS |
21 | COMPUTER SHOP | 34 000 |
CONTROLLER |
20 | ABITI BELLA | 110 000 |
PANTALONI |
9 | ABITI BELLA | 224 000 |
COMPLETO DONNA |
8 | COMPUTER SHOP | 134 000 |
JOYSTICK |
9) Scrivere una query che, dalla tabella ASSEGNI, ci permette di estrapolare i beneficiari la cui media degli importi degli assegni versati sia superiore alle 300 000. La lista dei beneficiari deve apparire ordinata in modo discendente.
Soluzioni agli esercizi del Capitolo 4
pag. 9 di 20 |