Queer European MD passionate about IT
浏览代码

Working on final assignment

Davte 4 年之前
父节点
当前提交
e526ce5020
共有 1 个文件被更改,包括 25 次插入6 次删除
  1. 25 6
      compitino/secondo_compitino/queries.tex

+ 25 - 6
compitino/secondo_compitino/queries.tex

@@ -1,14 +1,33 @@
 % !TEX root = ../main.tex
 
 \begin{enumerate}[label=\alph*.]
-    \item Uso di proiezione, join e restrizione
+    \item Uso di proiezione, join e restrizione.
 
-    Per ogni record di R con valore di C maggiore o uguale a 10 e che ha un valore di E uguale a un valore di F nella tabella S, riportare R.C e S.D.
+    Mostrare l'IdRicetta e il Nome delle ricette create da birrai di nome
+    Giovanni.
 \begin{lstlisting}[style=SQLu]
-SELECT R.C, S.D
-FROM Tabella1 R
-JOIN Tabella2 S ON R.E = S.F
-WHERE R.C >= 10
+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