SQL (Structured Query Language)
- Clausole SQL - Esercizi capitolo 4
Gli esercizi di una dispensa sulle clausole SQL

Indice articolo

  1. Introduzione alla SQL (Structured Query Language)
  2. Query SQL
  3. Espressioni e operatori condizionali
  4. Operatori di insieme
  5. Funzioni SQL
  6. Funzioni sulle potenze, logaritmi e radici in SQL
  7. Funzioni in SQL - Esercizi capitolo 3
  8. Clausole SQL
  9. Clausole SQL - Esercizi capitolo 4
  10. Join - combinazioni di tabelle in SQL
  11. Subquery SQL
  12. Manipolare dati con SQL
  13. Creare e mantenere le tabelle
  14. View e Indici
  15. SQL - Soluzioni esercizi cap. 1
  16. SQL - Soluzioni esercizi cap. 2
  17. SQL - Soluzioni esercizi cap. 3
  18. SQL - Soluzioni esercizi cap. 4
  19. SQL - Soluzioni esercizi cap. 5
  20. SQL - Soluzioni esercizi cap. 6

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


Art Net - 6.2.2006

Tags:  clausole sql
Previous   Pagina 9 / 20   Next
Aggiungi un Commento



captcha
Inserisci il codice visualizzato
Il commento sarĂ  visualizzato dopo l'approvazione dello staff