Cursarium logoCursarium
intermediateCertificateFree

Advanced SQL

by Alexis Cook · Kaggle

4.4
(5,500 reviews)
250K+ enrolled4 hoursUpdated 2024-03

Our Verdict

Worth taking

Kaggle's Advanced SQL is worth taking if you already know SQL basics and want a fast, free, hands-on skill-up on window functions, BigQuery nested/repeated data, and cost-aware querying, but it is not a comprehensive SQL course. It is a roughly 4-hour, 4-lesson micro-course that moves from JOINs/UNIONs to analytic (window) functions, nested and repeated data, and query optimization, all run against real BigQuery public datasets in Kaggle's in-browser notebooks. This independent editorial analysis is based on the official syllabus, the publicly mirrored lesson notebooks (drakearch/kaggle-courses), and aggregated public learner feedback rather than a personal completion. It is a genuinely useful, well-produced follow-on to Kaggle's Intro to SQL, with a strong hint/solution system and clear visuals, and it is the rare free resource that actually teaches BigQuery-specific nested/repeated data and cost-aware querying. Its main limits are scope and breadth: only four lessons, everything is BigQuery (Standard SQL) flavored, and it assumes you already know SELECT/WHERE/GROUP BY from the Intro course, so treat it as a focused skill-up rather than a comprehensive SQL bootcamp.

It is free, fast, and one of the few hands-on courses that teaches window functions plus BigQuery nested/repeated data (STRUCT/ARRAY, UNNEST) and data-scan-aware optimization on real datasets. For anyone who already knows SQL basics, the time-to-value is excellent. The only reason to hesitate is breadth: it is short and BigQuery-specific, so it complements rather than replaces a broader SQL curriculum.

Best for: Intermediate learners who already know core SQL (SELECT, WHERE, GROUP BY, basic JOINs) and want to add window/analytic functions, query semi-structured nested and repeated data, and write more cost-efficient queries. It is especially good for aspiring data analysts/scientists who will work in Google BigQuery or want practical, notebook-based practice on real public datasets, and for people completing Kaggle's data track who already finished Intro to SQL.

Skip if: Complete SQL beginners (start with Kaggle's Intro to SQL first), people who need transactional/OLTP or DDL/DML topics (indexes, transactions, stored procedures, schema design are not covered), and anyone wanting depth on a specific engine like PostgreSQL, MySQL, or SQL Server, since the syntax and the nested/repeated-data and optimization material are tailored to BigQuery Standard SQL and partly non-transferable.

About This Course

Use JOINs, analytic functions, nested queries, and write efficient SQL for working with large BigQuery datasets.

What You'll Learn

Combine tables with INNER, LEFT, RIGHT, and FULL JOINs and stack results with UNION (UNION ALL vs UNION DISTINCT)
Write analytic/window functions using the OVER clause with PARTITION BY, ORDER BY, and window frames (e.g. ROWS BETWEEN ... PRECEDING AND ... FOLLOWING) for running/rolling calculations
Apply common analytic functions such as AVG, COUNT, RANK, FIRST_VALUE/LAST_VALUE, and navigation functions like LAG/LEAD over partitions
Query BigQuery nested data (STRUCT/RECORD via dot notation) and repeated data (ARRAY/REPEATED fields), and flatten them with UNNEST
Write more efficient, lower-cost queries by reading less data, selecting only needed columns, filtering early to shrink intermediate results, and avoiding expensive N:N joins
Practice all of the above on real BigQuery public datasets (e.g. Chicago taxi trips, GitHub repos) with guided exercises, hints, and full solutions

Curriculum

JOINs and UNIONs

Combine information from multiple tables using INNER, LEFT, RIGHT, and FULL JOINs, and stack rows with UNION ALL and UNION DISTINCT. Includes a hands-on exercise on real data.

Analytic Functions

Perform complex calculations across groups of rows using the OVER clause with PARTITION BY, ORDER BY, and window frames (e.g. ROWS BETWEEN 15 PRECEDING AND 15 FOLLOWING). Covers analytic AVG/COUNT, RANK, and navigation functions like LAG for rolling averages, rankings, and time-between-events.

Nested and Repeated Data

Query BigQuery's complex data types: access nested STRUCT/RECORD fields with dot notation (e.g. committer.name) and flatten repeated ARRAY fields with UNNEST to aggregate semi-structured data, demonstrated on the GitHub public dataset.

Writing Efficient Queries

Make queries faster and cheaper by reading less data and filtering early so later steps operate on dramatically fewer rows; introduces the idea of measuring data scanned/run time and restructuring queries to minimize intermediate dataset size.

Prerequisites

  • Working knowledge of basic SQL (SELECT, WHERE, GROUP BY, HAVING, basic JOINs), ideally via Kaggle's free Intro to SQL course
  • Comfort running queries in a notebook environment (the course uses Kaggle Notebooks with the BigQuery client; light Python is used to issue queries)
  • A free Kaggle account to run the exercises

Instructor

Alexis Cook

Instructor · Kaggle

Pros & Cons

Pros

  • Completely free with no paywall, and awards a free completion certificate; runs entirely in-browser via Kaggle Notebooks with no local setup
  • Hands-on against real, large BigQuery public datasets, with a well-regarded hint-and-solution system on every exercise so you are never fully stuck
  • Teaches genuinely advanced and practical topics other free SQL intros skip: window functions, nested/repeated (semi-structured) data, and cost/performance-aware querying
  • Tight, well-paced (~4 hours) and produced by Kaggle's data education team with clear visuals; a strong, low-friction next step after Intro to SQL

Cons

  • Narrow scope: only four lessons, so it is a focused skill-up, not a comprehensive SQL course (no indexing, transactions, DDL/DML, stored procedures, or schema design)
  • BigQuery/Standard-SQL-specific; the nested/repeated-data (UNNEST, STRUCT/ARRAY) and data-scan optimization material does not transfer cleanly to PostgreSQL, MySQL, or SQL Server
  • Assumes prior SQL knowledge; without Kaggle's Intro to SQL or equivalent basics it will feel too fast
  • Optimization coverage is light/introductory and the BigQuery free tier has scan limits (e.g. learners report hitting the multi-TB monthly quota), so deep performance tuning is out of scope

Alternatives To Consider

Frequently Asked Questions

Is Advanced SQL free?

Yes — Advanced SQL is free to access. Free. No cost to enroll, complete, or earn the certificate. Exercises run on BigQuery public datasets through Kaggle; BigQuery's free tier has a monthly query-scan limit (commonly cited as ~1 TB free, with Kaggle/Google providing additional allocation), which is ample for the course but means very large ad-hoc queries can hit quotas.

Who is Advanced SQL for?

Intermediate learners who already know core SQL (SELECT, WHERE, GROUP BY, basic JOINs) and want to add window/analytic functions, query semi-structured nested and repeated data, and write more cost-efficient queries. It is especially good for aspiring data analysts/scientists who will work in Google BigQuery or want practical, notebook-based practice on real public datasets, and for people completing Kaggle's data track who already finished Intro to SQL.

What will you learn in Advanced SQL?

Combine tables with INNER, LEFT, RIGHT, and FULL JOINs and stack results with UNION (UNION ALL vs UNION DISTINCT); Write analytic/window functions using the OVER clause with PARTITION BY, ORDER BY, and window frames (e.g. ROWS BETWEEN ... PRECEDING AND ... FOLLOWING) for running/rolling calculations; Apply common analytic functions such as AVG, COUNT, RANK, FIRST_VALUE/LAST_VALUE, and navigation functions like LAG/LEAD over partitions; Query BigQuery nested data (STRUCT/RECORD via dot notation) and repeated data (ARRAY/REPEATED fields), and flatten them with UNNEST.

What are the prerequisites for Advanced SQL?

Working knowledge of basic SQL (SELECT, WHERE, GROUP BY, HAVING, basic JOINs), ideally via Kaggle's free Intro to SQL course; Comfort running queries in a notebook environment (the course uses Kaggle Notebooks with the BigQuery client; light Python is used to issue queries); A free Kaggle account to run the exercises.

Is Advanced SQL worth it?

It is free, fast, and one of the few hands-on courses that teaches window functions plus BigQuery nested/repeated data (STRUCT/ARRAY, UNNEST) and data-scan-aware optimization on real datasets. For anyone who already knows SQL basics, the time-to-value is excellent. The only reason to hesitate is breadth: it is short and BigQuery-specific, so it complements rather than replaces a broader SQL curriculum.

How we reviewed this course

This is an independent editorial assessment by Cursarium, based on Kaggle's published course materials and aggregated public learner feedback (last reviewed 2026-06). We have not independently completed the course. Links to providers are standard references, not paid placements.