Il 0% ha trovato utile questo documento (0 voti)
19 visualizzazioni2 pagine

SQL Query Biblioteca

Caricato da

artro5658
Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato TXT, PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
19 visualizzazioni2 pagine

SQL Query Biblioteca

Caricato da

artro5658
Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato TXT, PDF, TXT o leggi online su Scribd
Sei sulla pagina 1/ 2

-- 1.

Elenco tesserati che non hanno libri in prestito


/*
SELECT tesserati.Nome, tesserati.Cognome
FROM tesserati LEFT JOIN prestiti ON tesserati.IdTesserato = prestiti.IdTesserato
WHERE prestiti.IdLibro IS NULL
*/

-- 2. Elenco tesserati con più di un libro in prestito


/*
SELECT tesserati.Nome, tesserati.Cognome
FROM tesserati LEFT JOIN prestiti ON tesserati.IdTesserato = prestiti.IdTesserato
WHERE prestiti.IdTesserato IS NOT NULL
GROUP BY tesserati.Nome, tesserati.Cognome
*/

-- 3. Numero libri in prestito per ogni tesserato


/*
SELECT tesserati.Nome, tesserati.Cognome, COUNT(*)
FROM tesserati INNER JOIN prestiti ON tesserati.IdTesserato = prestiti.IdTesserato
GROUP BY tesserati.Nome, tesserati.Cognome
*/

-- 4. Elenco autori senza pubblicazioni nel 2000


/*
SELECT autori.Nome, autori.Cognome
FROM autori LEFT JOIN pubblicazioni ON autori.IdAutore = pubblicazioni.IdAutore
LEFT JOIN libri ON pubblicazioni.IdLibro = libri.IdLibro
WHERE libri.AnnoPubblicazione != 2.000
GROUP BY autori.Nome, autori.Cognome
*/

-- 5. Numero autori senza pubblicazioni nel 1997


/*
SELECT COUNT(autori.IdAutore)
FROM autori LEFT JOIN pubblicazioni ON autori.IdAutore = pubblicazioni.IdAutore
LEFT JOIN libri ON pubblicazioni.IdLibro = libri.IdLibro
WHERE libri.AnnoPubblicazione != 1997
*/

-- 6. Elenco libri scritti da almeno 2 autori


/*
SELECT libri.Titolo
FROM libri INNER JOIN pubblicazioni ON libri.IdLibro = pubblicazioni.IdLibro INNER
JOIN autori ON pubblicazioni.IdAutore = autori.IdAutore
GROUP BY libri.Titolo
HAVING COUNT(autori.IdAutore) >= 2
*/

-- 7. Elenco degli autori che non hanno scritto libri con descrizione Genere
"Fantascienza"
/*
SELECT autori.Nome, autori.Cognome
FROM autori INNER JOIN pubblicazioni ON autori.IdAutore = pubblicazioni.IdAutore
INNER JOIN libri ON pubblicazioni.IdLibro = libri.IdLibro INNER JOIN generi ON
libri.IdGenere = generi.IdGenere
WHERE generi.Descrizione != "Fantascienza"
GROUP BY autori.Nome, autori.Cognome
*/

-- 8. Elenco dei libri che non sono attualmente in prestito


/*
SELECT libri.Titolo
FROM libri LEFT JOIN prestiti ON libri.IdLibro = prestiti.IdLibro
WHERE prestiti.IdLibro IS NULL
*/

-- 9. Nome genere con il maggior numero di libri pubblicati


/*
SELECT generi.Descrizione
FROM generi INNER JOIN libri ON generi.IdGenere = libri.IdGenere
GROUP BY generi.Descrizione
ORDER BY COUNT(libri.IdLibro) DESC
LIMIT 1
*/

-- 10. Numero tesserati per città con libri in prestito


/*
SELECT tesserati.Citta, COUNT(*)
FROM tesserati
WHERE tesserati.IdTesserato IN (SELECT prestiti.IdTesserato FROM prestiti)
GROUP BY tesserati.Citta
*/

Potrebbero piacerti anche