|
Schema relazionale estesoQueryTutto sui clienti SELECT idcliente, nome, indirizzo, cittą, telefono, sconto, dal FROM cliente LEFT JOIN buoncliente ON cliente.idcliente = buoncliente.idcliente; Tutto sui clienti (e numero acquisti) SELECT idcliente, nome, indirizzo, cittą, telefono, sconto, dal, (SELECT count(*) FROM acquisto WHERE acquisto.idcliente = cliente.idcliente) AS [Numero acquisti] FROM cliente LEFT JOIN buoncliente ON cliente.idcliente = buoncliente.idcliente; Tutto sui libri SELECT idlibro, titolo, prezzo, pagine, numcopie AS [numero copie], genere, anno, autore.nome AS [autore], editore.nome AS [editore] FROM (autore INNER JOIN libro ON autore.idautore = libro.autoreid) INNER JOIN editore ON libro.editoreid = editore.ideditore; Totale acconti di un cliente (con codice) SELECT sum(somma) AS [totale acconti] FROM acconto WHERE idcliente = [Inserisci il codice cliente]; Totale acconti di un cliente (con nome) SELECT sum(somma) AS [totale acconti] FROM (acconto INNER JOIN buoncliente ON acconto.idcliente = buoncliente.idcliente) INNER JOIN cliente ON buoncliente.idcliente = cliente.idcliente WHERE nome = [Inserisci il nome del cliente]; Minimo, massimo e media degli acconti in un certo periodo SELECT MIN(somma) AS [somma minima], MAX(somma) AS massima, AVG(somma) AS media FROM acconto WHERE data BETWEEN [dalla data] AND [alla data]; Numero libri in catalogo per genere SELECT genere, count(*) AS quanti FROM libro GROUP BY genere ORDER BY genere; Classifica degli autori per numero di libri venduti (con nome) SELECT idautore, nome, count(*) AS quanti FROM (autore INNER JOIN libro ON autore.idautore = libro.autoreid) INNER JOIN acquisto ON libro.idlibro = acquisto.idlibro GROUP BY idautore, nome ORDER BY count(*) DESC; |
|