Advanced SQL

Lecture  INFO-4149
Torsten GrustLouisa LambrechtBjörn Bamberg
Thu 10:15-11:45, Sand 1, A301
Tue 14:15-15:45, Sand 14, C215
Thu, July 25 2024, 14:00-16:00, Sand 1, A301 + Sand 6/7, F119

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.

Signup and Registration

You do not need to register for the lecture in advance. Just turn up to the first lecture. You will be given all the information you need.

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 on Discord is not optional, but required for participation in the course.


For further questions please contact the teaching assistant Louisa Lambrecht.