DATABASE MUSICA: DATABASE SCUOLA: DATABASE LECLERC

Transcript

DATABASE MUSICA: DATABASE SCUOLA: DATABASE LECLERC
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”