In the second mission of this SQL Intermediate course, you'll continue working on using SQL to join multiple tables and thus unlock true power of SQL. Often times when you're working with SQL, the data you'd like to be working with is spread out across multiple tables, so being able to combine these data sources is a critical skill that merits some extra practice!

In this mission, you'll continue learning about the four basic types of joins: the inner join, the outer join, the left join, and the right join. But then you’ll go further, learning how to use recursive joins and how to perform pattern matching using `LIKE` and `ILIKE` for advanced filtering.

You’ll also learn about the case statement, which a clause that’s used for a similar function to if-else statements in R. As always, you’ll get hands-on practice using each of these concepts along with writing advanced joins so that you can feel confident in your SQL ability.

As with the previous missions in this course, you'll be working with a version of the Chinook database, a music collection involving track name, album name, artist name, genre, and number of tracks purchased.


  • Understand how to write queries that join three or more tables.
  • Learn to use recursive joins, pattern matching, and the case statement.
  • Practice writing advanced joins.

Lesson Outline

1. Working With Larger Databases
2. Joining Three Tables
3. Joining More Than Three Tables
4. Combining Multiple Joins with Subqueries
5. Recursive Joins
6. Pattern Matching Using Like
7. Generating Columns With The Case Statement
8. Next Steps
9. Takeaways