Advanced SQL

Lecture  INFO-4149
Torsten GrustLouisa LambrechtBjörn Bamberg
Thu 10:15-12:00, Sand 14, C215
Tue 14:15-15:45, Sand 14, C215

Relational database systems provide efficient storage for large volumes of data. This course highlights that these systems also provide a versatile and expressive data processing language: SQL. There’s much more to SQL than the plain SELECT...FROM...WHERE... clause and we will see that a surprisingly large number of algorithmic problems can be tackled using SQL. Moving computation close to the data is key to unlock the true potential of database systems.

Selected course topics include

  • import of CSV data,
  • common table expressions (WITH),
  • non-standard data types (arrays, maps, JSON),
  • anonymous functions (lambdas),
  • table functions,
  • non-standard aggregate functions,
  • window functions,
  • recursive computation,
  • off-beat SQL applications, useful SQL idioms, and fun SQL puzzles.

The course will only provide a brief introduction to the fundamental aspects of relational database systems. We expect you to have basic SQL skills (through prior attendance of DB1) or personal projects, for example) or be willing to acquire such skills.

Join us for a boatload of SQL fun! We will provide more course details once the semester approaches.

Organisation of Exercises and Discord

We will use our Discord server for the organisation of the lecture and exercise, i.e., for official notes, questions and discussions. Registration and regular attendance is not optional, but required for participation in the course.