COGNOME e Nome___________________________ LOGIN ___________________________________________ Basi di Dati Prova di SQl appello 24-01-2013 Viene valutato quanto memorizzato su file (denominare il file COGNOME.sql) Facendo riferimento allo schema del database PROVA, scrivere la query SQL corrispondenti alle seguenti interrogazioni: 1) Elencare TUTTI i fornitori e anche il numero di distinto di prodotti che compaiono nelle forniture, per quelli che hanno forniture (per gli altri, 0). select f.*,count(distinct prcod) as numero from fornitori f left join forniture ft on f.cod=ft.fcod group by f.cod,f.nome,f.citta Result set: COD F001 F002 F003 F004 F015 F110 F116 F130 F211 F217 F218 F230 F313 F314 F315 F316 F317 F328 F332 F339 NOME ROSSI NERI BIANCHI DONATI MARIANO LUCINI GILARDI BIZET BIANCHI VERDI VILLA MOSCONI MOSCONI ANDREI MONTELATICI OTTOZ FRENI PUCCINI ILLO CUGINI CITTA MILANO ROMA MILANO ROMA VENEZIA TORINO VENEZIA PAVIA TORINO PARMA ROMA ROMA TORINO null FIRENZE AOSTA MODENA LUCCA ROMA null numero 3 0 4 2 0 0 4 1 0 2 1 2 2 2 2 1 3 0 0 0 2) Elencare le spedizioni che contengono solo prodotti di Milano. select S.* from spedizioni S where exists ( select * from sped_dettagli SD join prodotti PR on SD.prcod=pr.cod where PR.citta="MILANO" and SD.spcod=S.spcod) and not exists(select * from sped_dettagli SD join prodotti PR on SD.prcod=pr.cod where PR.citta<>"MILANO" and SD.spcod=S.spcod) result set: VUOTO se eseguita sostituendo a MILANO la stringa TORINO result set: SPCOD SP03 DATASP 2005-12-01 CITTADEST TORINO CITTAPART MILANO QTA_TOTALE 300