\newcommand\cost[1]{\shade{orange}{#1}}
\section{Query Processing}
In this section, knowing the time complexities by heart is very important for the exam.
They are highlighted \cost{like this}.

\subsection{Sorting}
\input{parts/04_query-processing/00_sorting/00_intro.tex}
\input{parts/04_query-processing/00_sorting/01_merge-sort.tex}
\input{parts/04_query-processing/00_sorting/02_replacement-sort.tex}
\input{parts/04_query-processing/00_sorting/03_sorting-with-b-trees.tex}
% \input{parts/04_query-processing/00_sorting/}

\newpage
\subsection{Selection}
\input{parts/04_query-processing/01_selection/00_intro.tex}
\input{parts/04_query-processing/01_selection/01_index-scan.tex}
\input{parts/04_query-processing/01_selection/02_index-matching.tex}
% \input{parts/04_query-processing/01_selection/}

\newpage
\subsection{Projection}
\input{parts/04_query-processing/02_projection/00_intro.tex}
\input{parts/04_query-processing/02_projection/01_duplicate-elimination.tex}
\input{parts/04_query-processing/02_projection/02_set-operations.tex}
% \input{parts/04_query-processing/02_projection/}

\subsection{Aggregation}
\input{parts/04_query-processing/03_aggregation.tex}

\newpage
\subsection{Join}
\input{parts/04_query-processing/04_join/00_simple-join.tex}
\input{parts/04_query-processing/04_join/01_nested-loops.tex}
\input{parts/04_query-processing/04_join/02_index-nested-loops.tex}
\input{parts/04_query-processing/04_join/03_block-nested-loops.tex}
\input{parts/04_query-processing/04_join/04_block-index-nested-loops.tex}
\input{parts/04_query-processing/04_join/05_sort-merge-join.tex}
\input{parts/04_query-processing/04_join/06_optimized-smj.tex}
\input{parts/04_query-processing/04_join/07_hash-join.tex}
\input{parts/04_query-processing/04_join/08_partitioned-hash-join.tex}
\input{parts/04_query-processing/04_join/09_conclusion.tex}
% \input{parts/04_query-processing/}
