\begin{frame}
\frametitle{Duplicate Elimination}
\vspace{-1ex}
\begin{goal}{}
A core difference between SQL and relational algebra is that
\emph{duplicates have to explicitly eliminated} in SQL.
\end{goal}
\begin{exampleblock}{}
Which Exercises have been solved by at least one student?
\medskip
\begin{minipage}{.59\textwidth}
\begin{center}
\begin{code}{0.95\textwidth}{}
\BUseVerbatim{query}
\end{code}
\end{center}
\end{minipage}~
\begin{minipage}{.39\textwidth}
\begin{tcenter}
{\tableSqeeze\colorbox{rellight}{%
\begin{tabular}[t]{|c|c|}
\hd{category} & \hd{number} \\ \hline
exam & 1 \\
exam & 1 \\
exam & 1 \\
\vdots & \vdots \\
\hline
\end{tabular}%
}}%
\end{tcenter}
\end{minipage}
\end{exampleblock}
\pause
\begin{goal}{}
The \emph{\sql{distinct}} modifier may be applied to the \sql{select} clause to
request explicit duplicate row elimination
\end{goal}
\begin{exampleblock}{}
\begin{minipage}{.59\textwidth}
\begin{center}
\begin{code}{0.95\textwidth}{}
\BUseVerbatim{query2}
\end{code}
\end{center}
\end{minipage}~
\begin{minipage}{.39\textwidth}
\begin{tcenter}
{\tableSqeeze\colorbox{rellight}{%
\begin{tabular}[t]{|r|r|}
\hd{category} & \hd{number} \\ \hline
exam & 1 \\
homework & 1 \\
homework & 2 \\
\hline
\end{tabular}%
}}%
\end{tcenter}
\end{minipage}
\end{exampleblock}
\pause
\begin{alertblock}{}
Unexpected duplicates in the result can be a sign of mistakes!
\end{alertblock}
\bigskip
\end{frame}