ESEMPI DI QUERY IN SQL © Per gli esercizi che seguono, si fa riferimento alla sintassi del DBMS Base di OpenOffice, e ai database degli esercizi già svolti in precedenza (Musica, Scuola, Leclerc), per i quali si suppone siano definite le seguenti strutture delle tabelle: DATABASE MUSICA: Artisti(id, nome, genere, nazionalità) CD (id, titolo, etichetta, data) Brani (id, titolo, durata, idartista, idcd) DATABASE SCUOLA: Alunni(matricola, nome, cognome, età, siglaclasse) Classi (sigla, piano, numbanchi) Docenti (id, nome, cognome, materia) DocentiClassi (id, siglaclasse, iddocente) DATABASE LECLERC: Fornitori(id, nome, via, città, cap, note) Prodotti (codprod, nome, marca, quantità, descrizione, note, idfornitore) Clienti (codfisc, nominativo, numcarta, scadenza, note) ProdottiClienti (id, codprod, codfisc) ESEMPI DI QUERY SQL SUL DATABASE MUSICA: 1) Nome degli artisti italiani SELECT “Artisti”.”nome” FROM “Artisti” WHERE “Artisti”.”nazionalità” = ‘italiana’ 2) Titolo dei brani che durano più di 3 minuti SELECT “Brani”.”titolo” FROM “Brani” WHERE “Brani”.”durata” > 180 (si suppone che la durata sia espressa in secondi) 3) Titolo dei brani di Paolo Conte SELECT “Brani”.”titolo” FROM “Brani”, “Artisti” WHERE “Artisti”.”nome” = ‘Paolo Conte’ AND “Artisti”.”id” = “Brani”.”id” 4) Titolo e durata dei brani dei cd dei Pink Floyd SELECT “Brani”.”titolo”, “Brani”.”durata” FROM “Brani”, “CD”, “Artisti” WHERE “Artisti”.”nome” = ‘Pink Floyd’ AND “Artisti”.”id” = “Brani”.”id” AND “CD”.”id” = “Brani”.”idcd” ESEMPI DI QUERY SQL SUL DATABASE SCUOLA: 1) Nome e cognome degli alunni della 5B SELECT “Alunni”.”nome”, “Alunnii”.”cognome” FROM “Alunni” WHERE “Alunnii”.”siglaclasse” = ‘5B’ 2) Nome e cognome di tutti gli alunni del secondo piano SELECT “Alunni”.”nome”, “Alunni”.”cognome” FROM “Alunni”, “Classi” WHERE “Classi”.”piano” = 2 AND “Classi”.”sigla” = “Alunni”.”siglaclasse” 3) Nome, cognome e materia dei docenti della 3A SELECT “Docenti”.”nome”, “Docenti”.”cognome”, “Docenti”.”materia” FROM “Docenti”, “DocentiClassi” WHERE “DocentiClassi”.”siglaclasse” = ‘3A’ AND “Docenti”.id” = “DocentiClassi”.”iddocente” 4) Nome, cognome e materia dei docenti di Galileo Galilei SELECT “Docenti”.”nome”, “Docenti”.”cognome”, “Docenti”.”materia” FROM “Alunni”, “Docenti”, “Classi”, “DocentiClassi” WHERE “Alunni”.”nome” = ‘Galileo’ AND “Alunni”.”cognome” = ‘Galilei’ AND “Classi”.”sigla” = “Alunni”.”siglaclasse” AND “Classi”.”sigla” = “DocentiClassi”.”siglaclasse” AND “Docenti”.”id” = “DocentiClassi”.”iddocente” ESEMPI DI QUERY SQL SUL DATABASE LECLERC: 1) Nome e città del fornitore dei prodotti Ferrero SELECT “Fornitori”.”nome”, “Fornitori”.”città” FROM “Fornitori”, “Prodotti” WHERE “Prodotti”.”marca” = ‘Ferrero’ AND “Fornitori”.”id” = “Prodotti”.”idfornitore” 2) Quantità di detersivo Dixan presente SELECT “Prodotti”.”quantità” FROM “Prodotti” WHERE “Prodotti”.”nome” = ‘Dixan’ 3) Nome e codice fiscale dei clienti che hanno acquistato mozzarelle Arborea SELECT “Clienti”.”nominativo”, “Clienti”.”codfisc” FROM “Clienti”, “Prodotti”, “ProdottiClienti” WHERE “Prodotti”.”marca” = ‘Arborea” AND “Prodotti”.”nome” = ‘mozzarella’ AND “Prodotti”.”codprod” = “ProdottiClienti”.”codprod” AND “Clienti”.”codfisc” = “ProdottiClienti”.”codfisc” 4) Nome dei clienti dei prodotti forniti da un fornitore dato in input SELECT “Cleinti”.”nominativo” FROM “Fornitori”, “Clienti”, “Prodotti”, “ProdottiClienti” WHERE “Fornitore”.”nome” = [inserisci nome del fornitore] AND “Fornitori”.”id” = “Prodotti”.”idfornitore” AND “Prodotti”.”codprod” = “ProdottiClienti”.”codprod” AND “Clienti”.”codfisc” = “ProdottiClienti”.”codfisc”