Back to articles list Articles Cookbook
5 minutes read

Learn Advanced SQL with

In this article, we will propose a learning path that will cover advanced SQL topics.

If you already know the basics of SQL, you probably have figured out that most online and offline SQL tutorials and courses usually cover the basic and intermediate concepts: SELECT, FROM, WHERE, ORDER BY, GROUP BY, and joining tables. Even university database courses typically don’t cover more advanced  SQL topics.

While this is enough SQL for most everyday tasks, there are some relatively new features that have been added to SQL in the last 20 years: window functions, recursive queries, and GROUP BY extensions (ROLLUP, CUBE, GROUPING SET). So, what do you do if you want to learn to use SQL’s advanced features?

Online courses are an obvious choice for learning SQL. I sincerely recommend our Advanced SQL track for people who want to learn everything SQL has to offer. The track consists of three courses: Window Functions, GROUP BY Extensions, and Recursive Queries. The track contains almost 400 exercises. Our courses combine knowledge with hands-on practice; you can write SQL queries in the interactive console and get instant feedback. All you need is the Internet and your favorite browser to become the king of the hill.

Who Needs to Learn Advanced SQL?

Data analysts may be the most interested in learning these advanced SQL features: they enable analysts to reach new levels of handling data (ranking data, calculating delta values and running totals, etc. ) and allow them to create cool reports based on multiple conditions. If you are interested in advanced SQL for data analysis, I strongly recommend you read about these 5 advanced SQL constructions every data analyst should learn.

But data analysts are not the only ones who can benefit from learning advanced SQL: SQL developers, database experts, and anyone who wants to keep their SQL knowledge up to date should learn advanced SQL. If your job requires you to be knowledgeable in SQL, you should definitely learn advanced SQL. And if you’re looking for a tech or data job, you could be asked an advanced SQL question in the interview.’s Online Courses

If you want to learn advanced SQL, you will find many resources and learning methods at your fingertips. In addition to the official documentation of each SQL dialect, you can read books and tutorials or watch YouTube videos – among many other learning options.

However, I recommend you learn SQL using interactive online courses. They give you knowledge and the opportunity to test it in practice. You can read many books or watch many clips on YouTube, but only writing real code consolidates knowledge into skill. A more comfortable way to write code while learning is through interactive courses, which allow you to practice and gain experience quickly. And you will need a lot of practice to become an expert!’s courses are interactive; in each exercise, you get a short explanation and a problem to solve. Just like in the real world, you will be asked to write actual SQL code. Then, the platform runs your code on a real database, checks your solution, and instantly tells you if it’s correct or not.

You learn SQL by writing SQL. With each exercise, you build confidence in your SQL skills. The data in the course and the exercises is designed to resemble real-world problems. And the best part is that you don’t have to install anything on your computer! You just need an Internet connection and a web browser – it could not be simpler!

Advanced SQL with

Overview of a exercise

Learn Advanced SQL with

Advanced SQL consists of 3 main topics: window functions, GROUP BY extensions, and recursive queries. If you want to know more about advanced SQL, the article on What is Advanced SQL? will fill in the gaps.

Our courses cover the most useful additions to SQL made over the last 20 years; by completing these courses, you will learn "modern SQL". In this section, we will propose a learning path for advanced SQL based on’s courses. Let’s go!

  1. Window Functions: As the title suggests, this course teaches window functions (also known as OVER() functions or analytical functions). These compute aggregates for a group of rows (like GROUP BY), but they keep the details of individual rows (unlike GROUP BY). Knowledge of window functions is essential for anyone doing complex analytics in SQL. They help you conveniently build rankings, calculate running totals and moving averages, and compute year-over-year reports. The course has over 200 interactive exercises.

    Interested in SQL window functions? I highly recommend you read the article Who Should Learn SQL Window Functions?.

  2. GROUP BY Extensions: The GROUP BY extensions include ROLLUP, CUBE, and GROUPING SET. As you’d guess, they allow you to do many different GROUP BYs in one query via a simple syntax. Knowing them is useful to anyone who does complex reports in SQL. They help you write shorter, more readable queries. The course has 63 exercises.
  3. Recursive Queries: This course teaches the WITH clause in SQL, which is similar to a named subquery. It’s also known as a Common Table Expression (CTE). It allows you to make your query more readable by breaking computations into small, named steps. The WITH clause also allows you to write recursive queries, i.e. queries that can process hierarchical data like trees or graphs. Understanding recursive queries is essential to SQL developers and anyone who wants to be a database expert. The course has over 100 practical hands-on exercises.

    If you’ve never heard of WITH clauses, you should read this excellent article by Zahin Rahman.

Learn Advanced SQL Today!

Maybe you know a bit of advanced SQL and wonder if you could be hired as a SQL expert. Read Advanced SQL Interview Questions (and Answers) to check your knowledge. If you are not able to answer at least 6 of the 11 questions, it’s time to learn advanced SQL seriously!

Did this article encourage you to learn advanced SQL? Don’t hesitate! Your SQL journey is off to a good start; you will find all the resources and help you need to become an SQL expert on

So, what are you waiting for? Learn advanced SQL today!