mirror of
https://github.com/janishutz/eth-summaries.git
synced 2026-07-27 21:29:09 +02:00
[DMDB] SQL basics completed
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
\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)
|
||||
Reference in New Issue
Block a user