• Non ci sono risultati.

ESERCIZI DI SQL

N/A
N/A
Protected

Academic year: 2021

Condividi "ESERCIZI DI SQL"

Copied!
10
0
0

Testo completo

(1)

ESERCIZI DI SQL

Esercitazione I

10/26/2020 Esercizi di SQL 1

(2)

10/26/2020 Esercizi di SQL 2

IMPIEGATO (CodImp, Cognome, Nome, CodDip, Stipendio) DIPARTIMENTO (CodDip, Denominazione, Città)

TURNO (CodImp, Data, OraI, OraF)

Selezionare i codici e i cognomi degli impiegati il cui cognome inizia con la lettera A o la lettera B.

SELECT CodImp, Cognome FROM IMPIEGATO I

WHERE Cognome LIKE 'A%' OR Cognome LIKE 'B%';

Esercizio 1 - Soluzione

(3)

10/26/2020 Esercizi di SQL 3

IMPIEGATO (CodImp, Cognome, Nome, CodDip, Stipendio) DIPARTIMENTO (CodDip, Denominazione, Città)

TURNO (CodImp, Data, OraI, OraF)

Selezionare i cognomi degli impiegati che lavorano in dipartimenti di Torino, ordinati in ordine alfabetico.

SELECT Cognome

FROM IMPEGATO I, DIPARTIMENTO D WHERE I.CodDip=D.CodDip AND

Città = 'Torino' ORDER BY Cognome;

Esercizio 2 - Soluzione

(4)

10/26/2020 Esercizi di SQL 4

IMPIEGATO (CodImp, Cognome, Nome, CodDip, Stipendio) DIPARTIMENTO (CodDip, Denominazione, Città)

TURNO (CodImp, Data, OraI, OraF)

Selezionare tutti i dati dei turni degli impiegati che hanno uno stipendio maggiore di 10.000 euro e che lavorano in dipartimenti di Roma.

SELECT T.CodImp, Data, OraI, OraF

FROM IMPEGATO I, DIPARTIMENTO D, TURNO T WHERE I.CodDip=D.CodDip AND

T.CodImp = I.CodImp AND Stipendio > 10.000 AND Città = 'Roma’;

Esercizio 3 - Soluzione

(5)

10/26/2020 Esercizi di SQL 5

IMPIEGATO (CodImp, Cognome, Nome, CodDip, Stipendio) DIPARTIMENTO (CodDip, Denominazione, Città)

TURNO (CodImp, Data, OraI, OraF)

Trovare il valore massimo degli stipendi erogati dai dipartimenti di Milano.

SELECT MAX(Stipendio)

FROM IMPIEGATO AS I, DIPARTIMENTO AS D WHERE I.CodDip=D.CodDip

AND Città = "Milano";

Esercizio 4 - Soluzione

(6)

10/26/2020 Esercizi di SQL 6

IMPIEGATO (CodImp, Cognome, Nome, CodDip, Stipendio) DIPARTIMENTO (CodDip, Denominazione, Città)

TURNO (CodImp, Data, OraI, OraF)

Per ogni dipartimento di Torino, selezionare il codice e il nome del dipartimento, e lo stipendio medio degli impiegati del dipartimento.

SELECT I.CodDip, Denominazione, AVG(Stipendio) FROM IMPEGATO I, DIPARTIMENTO D

WHERE I.CodDip=D.CodDip AND Città = 'Torino'

GROUP BY I.CodDip, Denominazione;

Esercizio 5 - Soluzione

(7)

10/26/2020 Esercizi di SQL 7

IMPIEGATO (CodImp, Cognome, Nome, CodDip, Stipendio) DIPARTIMENTO (CodDip, Denominazione, Città)

TURNO (CodImp, Data, OraI, OraF)

Selezionare i codici dei dipartimenti che spendono più di 10 milioni di euro

in stipendi, tenendo conto solo degli impiegati che guadagnano più di 10.000 euro.

SELECT Denominazione, SUM (Stipendio) AS TotStipendi FROM IMPIEGATO AS I, DIPARTIMENTO AS D

WHERE Stipendio > 10.000 AND I.CodDip = D.CodDip

GROUP BY D.CodDip, Denominazione HAVING SUM (Stipendio) > 10.000.000;

Esercizio 6 - Soluzione

(8)

10/26/2020 Esercizi di SQL 8

IMPIEGATO (CodImp, Cognome, Nome, CodDip, Stipendio) DIPARTIMENTO (CodDip, Denominazione, Città)

TURNO (CodImp, Data, OraI, OraF)

Per ogni dipartimento di Torino, selezionare il codice del dipartimento e lo stipendio medio degli impiegati dei dipartimenti CHE HANNO UNA MEDIA SUPERIORE AI 15.000 e che hanno più di 20 impiegati.

SELECT D.CodDip, AVG(Stipendio)

FROM IMPIEGATO AS I, DIPARTIMENTO AS D WHERE I.CodDip=D.CodDip AND

Città = "Torino"

GROUP BY D.CodDip

HAVING AVG(Stipendio) > 15.000 AND COUNT(*) > 20;

Esercizio 7 - Soluzione

(9)

10/26/2020 Esercizi di SQL 9

VELISTI (Vid, VNome, Esperienza, DataNascita) PRENOTAZIONI (Vid, Bid, Data)

BARCHE (Bid, BNome, Colore)

Trovare i codici e i nomi dei velisti che hanno effettuato almeno tre prenotazioni.

SELECT V.Vid, VNome

FROM VELISTI V, PRENOTAZIONI P WHERE V.Vid = P.Vid

GROUP BY V.Vid, VNome HAVING COUNT(*) >= 3;

Esercizio 8 - Soluzione

(10)

10/26/2020 Esercizi di SQL 10

VELISTI (Vid, VNome, Esperienza, DataNascita) PRENOTAZIONI (Vid, Bid, Data)

BARCHE (Bid, BNome, Colore)

Trovare i codici e i nomi dei velisti che hanno prenotato almeno tre barche diverse.

SELECT V.Vid, VNome

FROM VELISTI V, PRENOTAZIONI P WHERE V.Vid = P.Vid

GROUP BY V.Vid, VNome

HAVING COUNT(DISTINCT Bid) >= 3;

Esercizio 9 - Soluzione

Riferimenti

Documenti correlati

Trovare il codice e il nome delle riviste che hanno pubblicato almeno un articolo di argomento ’motociclismo’..

Trovare il codice e il nome delle riviste che hanno pubblicato almeno un articolo di argomento ’motociclismo’... Esercizio 2

CONTRATTO-AFFITTO(CodC, DataInizio, DataFine, NomePersona, CodA) Trovare il codice, l'indirizzo e la città degli alloggi che hanno una superficie superiore alla superficie media

FILM (CodFilm, Titolo, AnnoProduzione, Nazionalità, Regista, Genere) PROIEZIONI (CodProiezione, CodFilm, CodSala, Incasso, DataProiezione) SALE (CodSala, Posti, Nome, Città).. Trovare

Trovare il nome degli editori per cui almeno 10 pubblicazioni sono state vendute nel 2002 nelle librerie di Roma in più di 2.000 copie.

Visualizzare il nome delle persone che hanno risposto esattamente ad almeno il 70% delle domande contenute in almeno uno dei loro questionari. SELECT

VISTE le ordinanze del Capo del Dipartimento della protezione civile n. 654 del 20 marzo 2020, recanti: “Ulteriori interventi urgenti di protezione civile in relazione

414 del 7 febbraio 2020 recante: “Nomina del soggetto attuatore del Ministero della salute per la gestione delle attività connesse alla gestione dell’emergenza relativa al