Intermediate Joins in SQL

In the second mission of this SQL Intermediate course, you'll focus on how to join data in SQL using more than one table, and unlocking the 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.

You'll learn about the four basic types of joins: the inner join, the outer join, the left join, and the right join. You will learn concepts such as how to use recursive joins, how to perform pattern matching using LIKE and ILIKE for advanced filtering, and the case statement, which is the clause to perform the same function such as if and else in Python. In addition, you will have practice using each of these concepts along with writing advanced joins so that you can feel confident in your SQL ability so you can be on your way to becoming proficient in writing queries to solve any problem or answer any question.

To facilitate your learning of joining multiple tables, 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.

Mission 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


Course Info:


The median completion time for this course is 6.8 hours. ​View Details​​​

This course requires a basic subscription and has four mission including two guided projects. It is the 12th course in the Data Analyst in Python path and Data Scientist in Python path.


Take a Look Inside

(function(d) { d.addEventListener("DOMContentLoaded", function() { var pathname = d.location.pathname.replace(/^[/]|[/]$/g, "").replace("/", "-"); var tags = d.getElementsByTagName("iframe"); var type = pathname.startsWith("course") ? "?course=" : pathname.startsWith("path") ? "?path=" : null; if (type) { var i; for (i = 0; i < tags.length; i++) { if (tags[i].src.indexOf("signup#iframe") !== -1) { tags[i].src = tags[i].src.replace("#iframe", "") + type + pathname + "#iframe"; } } } }, false); })(document);