% !TEX root = ../main.tex

\begin{enumerate}[label=\alph*.]
    \item Uso di proiezione, join e restrizione.

    Mostrare l'IdRicetta e il Nome delle ricette create da birrai di nome
    Giovanni.
\begin{lstlisting}[style=SQLu]
SELECT r.IdRicetta, r.Nome
FROM Ricette r
JOIN Persone p ON p.IdPersona = r.IdCreatrice
WHERE p.Nome = 'Giovanni'
\end{lstlisting}
    \item Uso di group by con having, where e sort.

    Ordinare per importo totale decrescente i fornitori da cui ha ordinato il
    birrificio `Pirati Rossi', mostrandone la ragione sociale oltre che
    l'importo totale e l'importo medio, purché l'importo totale sia superiore
    a 10 euro.
\begin{lstlisting}[style=SQLu]
SELECT fo.RagioneSociale, SUM(fa.Importo) ImportoTotale,
       AVG(fa.Importo) ImportoMedio
FROM Fornitori fo
JOIN Fatture fa ON fa.IdFornitore = fo.IdFornitore
JOIN Birrifici b ON b.IdBirrificio = fa.IdBirrificio
WHERE b.Nome = 'Pirati Rossi'
GROUP BY fo.IdFornitore, fo.RagioneSociale
HAVING SUM(fa.Importo) > 10
ORDER BY SUM(fa.Importo) DESC
\end{lstlisting}

\end{enumerate}
\clearpage