Advanced SQL

Course Description

In this 80-hour hands-on course trainees learn how to work with large, complex, realistic databases. The course covers advanced topics in SQL including conditional expressions, working with text strings and using text string operations in queries, understanding sets, relations, and bags, writing subqueries and combining them with joins, using advanced joins, and defining and using functions. 


The prerequisite for this course is SQL Fundamentals.

Learning Outcomes

Trainees will be able to:

  • Write queries with conditional expressions.
  • Simplify filtering in aggregate functions.
  • Work with databases containing missing or corrupt data.
  • Create and modify text strings, use text string operations.
  • Perform basic and advanced text search.
  • Search for incomplete patterns using regular expressions.
  • Compare the properties of sets, relations, and bags.
  • Perform set operations in queries.
  • Write subqueries and combine them with joins.
  • Use advanced types of joins (cross, left, right, full, semi- and anti-join).
  • Create and use functions.
  • Define composite data types and use them in functions.

Equipment Requirements

Computer, laptop or tablet with Internet access, web browser, and email.

Course Structure and Length

The course is self-paced, and trainees practice each skill or concept as they go. Automatic feedback is built into the course for both practices and quizzes.

The course is divided into four Units, and each Unit is composed of five Sections.  Each Section consists of 7 instructional/practice levels, a quiz, and a master (proficiency) level.  Trainees can return to any level or quiz for review.

This table illustrates the course structure as units, sections, and levels.

While learning skills in this course, trainees can practice queries and create portfolio artifacts with NCLab’s SQL apps. They can use a project idea from NCLab or create their own.  NCLab provides several practice databases that can be queried with the SQL app.

Advanced SQL is designed to be completed in approximately 80 hours. Since the course is self-paced, the amount of time required to complete the course will vary from person to person. Trainees are responsible for learning both the tutorial content and the skills acquired through practice.