Upload
majong-devjfu
View
340
Download
0
Embed Size (px)
DESCRIPTION
Citation preview
Basi di DatiBasi di Dati
Esercizi di interrogazioni complesse (I parte)
DB EsamiDB EsamiS (Matr, SNome, Citta, ACorso)C (CC, CNome, CD)
FK: CD REFERENCES D
D (CD CN Citt )S
D (CD, CNome, Citta)E (Matr, CC, Data, Voto)
FK Matr REFERENCES S
Matr SNome Citta Acorso
M t CC D t V tE
FK: Matr REFERENCES SFK: CC REFERENCES C
CC CN CDC
Matr CC Data Voto
CC CNome CD
CD CNome CittaD
CD CNome Citta
2 Esercizi di interrogazioni complesse (I parte)
DB Esami Aggregazione e raggruppamentoDB Esami – Aggregazione e raggruppamentoNumero di studenti presenti
SELECT COUNT(*)FROM S
3 Esercizi di interrogazioni complesse (I parte)
DB Esami Aggregazione e raggruppamentoDB Esami – Aggregazione e raggruppamentoNumero di studenti che hanno sostenuto almeno un esame
SELECT COUNT(DISTINCT Matr)FROM E
4 Esercizi di interrogazioni complesse (I parte)
DB Esami Aggregazione e raggruppamentoDB Esami – Aggregazione e raggruppamentoVoto medio degli esami sostenuti dalla matricola 123
SELECT AVG(Voto)FROM E WHERE Matr='123'
SELECT SUM(V )/COUNT(V )SELECT SUM(Voto)/COUNT(Voto)FROM E WHERE Matr='123'
5 Esercizi di interrogazioni complesse (I parte)
DB Esami Aggregazione e raggruppamentoDB Esami – Aggregazione e raggruppamentoVoto massimo e minimo ottenuto per ogni studente,
l d d il C323escludendo il corso C323
SELECT M t MAX(V t ) MIN(V t )SELECT Matr,MAX(Voto),MIN(Voto)FROM EWHERE CC <> ‘C323'WHERE CC <> C323GROUP BY Matr
6 Esercizi di interrogazioni complesse (I parte)
DB Esami Aggregazione e raggruppamentoDB Esami – Aggregazione e raggruppamentoVoto massimo e minimo ottenuto per ogni studente, i li d h il d ll dvisualizzando anche il nome dello studente
SELECT E M t S SN MAX(V t ) MIN(V t )SELECT E.Matr, S.SNome, MAX(Voto),MIN(Voto)FROM E, SWHERE S MATR = E MATRWHERE S.MATR = E.MATRGROUP BY E.Matr, S.Snome
7 Esercizi di interrogazioni complesse (I parte)
DB Esami Aggregazione e raggruppamentoDB Esami – Aggregazione e raggruppamentoCodice e nome di un corso, e relativo numero di esami
isostenuti
SELECT C CC C CN COUNT(*)SELECT C.CC,C.CNome,COUNT(*)FROM E,CWHERE E CC=C CCWHERE E.CC=C.CCGROUP BY C.CC,C.CNome
8 Esercizi di interrogazioni complesse (I parte)
DB Esami Aggregazione e raggruppamentoDB Esami – Aggregazione e raggruppamentoNumero di esami per ogni voto compreso tra 22 e 28
SELECT Voto, COUNT(*)FROM EGROUP BY VotoHAVING V BETWEEN 22 AND 28HAVING Voto BETWEEN 22 AND 28
SELECT V t COUNT(*)SELECT Voto, COUNT(*)FROM EWHERE Voto BETWEEN 22 AND 28WHERE Voto BETWEEN 22 AND 28GROUP BY Voto
9 Esercizi di interrogazioni complesse (I parte)
DB Esami Aggregazione e raggruppamentoDB Esami – Aggregazione e raggruppamentoMedia dei voti per ogni esame sostenuto da più di due
d istudenti
SELECT CC AVG(V t )SELECT CC,AVG(Voto)FROM EGROUP BY CCGROUP BY CCHAVING COUNT(*) > 2
10 Esercizi di interrogazioni complesse (I parte)
DB Esami Aggregazione e raggruppamentoDB Esami – Aggregazione e raggruppamentoMatricola degli studenti che hanno sostenuto almeno due
i lesami con lo stesso voto
SELECT M tSELECT MatrFROM EGROUP BY MatrVotoGROUP BY Matr,VotoHAVING COUNT(CC) >= 2
11 Esercizi di interrogazioni complesse (I parte)
DB MobiliDB MobiliArticoli (Art_Cod, Cat_Cod, Art_Descrizione, Art_Prezzo, Art_IVA,
Art Spese Trasporto)_ p _ p )FK: Cat_Cod REFERENCES Categorie
Categorie (Cat_Cod, Cat_Descrizione)Componenti (Com Cod, Com Descrizione, Com Costo, Lab Cod)Componenti (Com_Cod, Com_Descrizione, Com_Costo, Lab_Cod)
FK: Lab_Cod REFERENCES LaboratoriLaboratori (Lab_Cod, Lab_Indirizzo, Lab_Citta, Lab_Telefono)Ordini (Ord Cod Neg Cod Ord Data)Ordini (Ord_Cod, Neg_Cod, Ord_Data)
FK: Neg_Cod REFERENCES NegoziNegozi (Neg_Cod, Neg_Nome, Neg_Indirizzo, Neg_Citta, Neg_Telefono)CompArt (Art Cod Com Cod CompArt Qta)CompArt (Art_Cod, Com_Cod, CompArt_Qta)
FK: Art_Cod REFERENCES ArticoliFK: Com_Cod REFERENCES Componenti
OrdArt (Ord Cod Art Cod OrdArt Qta)OrdArt (Ord_Cod, Art_Cod, OrdArt_Qta)FK: Ord_Cod REFERENCES OrdiniFK: Art_Cod REFERENCES Articoli
12 Esercizi di interrogazioni complesse (I parte)
DB MobiliOrd_CodNeg_Cod
Ordini
DB Mobili g_Ord_Data
NegoziOrdArt
Articoli
Neg_CodNeg_NomeNeg_Indirizzo
Negozi Ord_CodArt_CodOrdArt_Qta
Art_CodCat_CodArt Descrizione
Articolig_Neg_CittaNeg_Telefono
_Art_PrezzoArt_IVAArt_Spese_TrasportoCat_Cod
Cat_Descrizione
Categorie
LaboratoriArt_CodCom_CodCompArt Qta
CompArt
Com Cod
Componenti
Lab_CodLab_IndirizzoLab_CittaLab Telefono
CompArt_Qta
Com_CodCom_DescrizioneCom_CostoLab_Cod
_
13 Esercizi di interrogazioni complesse (I parte)
DB Mobili Aggregazione e raggruppamentoDB Mobili – Aggregazione e raggruppamentoLa minima e la massima quantità di articoli richiesti in un diordine
SELECT MIN(O dA t Qt ) MAX(O dA t Qt )SELECT MIN(OrdArt_Qta) , MAX(OrdArt_Qta)FROM OrdArt
14 Esercizi di interrogazioni complesse (I parte)
DB Mobili Aggregazione e raggruppamentoDB Mobili – Aggregazione e raggruppamentoLa media dei prezzi dei componenti non prodotti in alcun l b ilaboratorio
SELECT AVG(C C t )SELECT AVG(Com_Costo)FROM ComponentiWHERE Lab Cod IS NULLWHERE Lab_Cod IS NULL
15 Esercizi di interrogazioni complesse (I parte)
DB Mobili Aggregazione e raggruppamentoDB Mobili – Aggregazione e raggruppamentoIl prezzo più alto per ciascuna categoria
SELECT Cat_Cod, MAX(Art_Prezzo)FROM ArticoliGROUP BY Cat_Cod
16 Esercizi di interrogazioni complesse (I parte)
DB Mobili Aggregazione e raggruppamentoDB Mobili – Aggregazione e raggruppamentoQuanti laboratori sono presenti in ciascuna città, escludendo le i à l l b icittà con un solo laboratorio
SELECT L b Citt COUNT(L b Citt )SELECT Lab_Citta, COUNT(Lab_Citta)FROM LaboratoriGROUP BY Lab CittaGROUP BY Lab_CittaHAVING COUNT(Lab_Citta) > 1
17 Esercizi di interrogazioni complesse (I parte)
DB Mobili Aggregazione e raggruppamentoDB Mobili – Aggregazione e raggruppamentoDa quanti componenti è composto ciascun articolo,
id d l li i li i d l 10considerando solo gli articoli composti da almeno 10 componenti
SELECT Art_Cod, SUM(CompArt_Qta)FROM CompArtFROM CompArtGROUP BY Art_CodHAVING SUM(CompArt Qta) >= 10HAVING SUM(CompArt_Qta) > 10
18 Esercizi di interrogazioni complesse (I parte)