Libreria

Il problema

Schema relazionale

Rel_libreria

Query

  1. Tutto sui clienti
    SELECT idcliente, nome, indirizzo, città, telefono, sconto, dal
    FROM   cliente LEFT JOIN buoncliente ON cliente.idcliente = buoncliente.idcliente
  2. 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
  3. 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
  4. Totale acconti di un cliente (con codice)
    SELECT Sum(somma) AS [totale acconti]
    FROM   acconto
    WHERE  idcliente = [Inserisci il codice cliente]
  5. 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]
  6. 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]
  7. Numero libri in catalogo per genere
    SELECT   genere, Count(*) AS quanti
    FROM     libro
    GROUP BY genere
    ORDER BY genere
  8. 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
  9. I libri con il relativo autore
  10. I libri con autore ed editore
  11. I libri con nel titolo una delle parole: “noia”, “indifferenti”
  12. I libri di “Moravia”, “Soldati” o “Chiara” con prezzo non inferiore a 10 € e non superiore a 20 €
  13. Le informazioni sui clienti (con eventuale sconto)
  14. Il valore complessivo degli acconti versati nel 2005
  15. Numero minimo, medio e massimo di pagine dei libri di genere “fantascienza”
  16. Numero di libri acquistati da ciascun cliente di “Feltre”
  17. La classifica dei clienti per numero di libri acquistati
  18. Gli editori con almeno 5 libri di “fantascienza”