184/224
\begin{frame}
  \frametitle{Union}

  \begin{goal}{}
    The \sql{union} operand
    subqueries must return tables with the same number of columns and compatible data types.
  \end{goal}
  \remark{%
    Columns correspondence is by column \emph{position} (1st, 2nd,\dots).\\
    Column names need not be identical.
  }
  \pause
  \medskip
  
  \begin{goal}{}
    SQL distinguishes between
    \begin{itemize}
    \item \sql{union}: with \emph{duplicate elimination}, and
    \item \sql{union all}: \emph{concatenation} (duplicates retained).
    \end{itemize}
  \end{goal}
  \pause
  \medskip
  
  Other SQL-92 set operations:
  \begin{itemize}
  \item \sql{except} ($A - B$)
  \item \sql{intersect} ($A \cap B$)
  \end{itemize}
  These do \emph{not} add to the expressivity of SQL.
  \begin{quiz}{\textwidth}{}
    How?
  \end{quiz}
\end{frame}