\newpage
\subsubsection{Null}
\label{sec:sql-null}
Whenever we have incomplete information, we can set a column to be \texttt{NULL}.
If you have a column that has \texttt{NULL} values, when using \texttt{WHERE} clauses, these values are skipped.
\textit{However} if you are not filtering on the column, a \texttt{NULL} value is returned.

To check if a column is \texttt{NULL}, you can use the \texttt{IS} keyword:
\mint{sql}|SELECT * FROM Data WHERE name IS NULL|

\begin{itemize}[itemsep=-3pt]
    \item In \texttt{GROUP BY}, all \texttt{NULL}s form a single group.
    \item \texttt{COUNT(*)}, also counts rows with \texttt{NULL}
    \item \texttt{COUNT(TheColWithNull)} ignores rows with \texttt{NULL}
    \item Most other aggregations ignore \texttt{NULL}
    \item If all rows in an aggregations are \texttt{NULL}, so is the result
\end{itemize}

The \texttt{OUTER JOIN} operators may (and likely will) introduce \texttt{NULL}

% TODO: Schema concepts? (slides 05, P20ff)
