Joining Data in SQL

In the first mission of this SQL Intermediate course, you'll focus on how to join data in SQL, 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. Each join covered in this mission serves a specific purpose, and knowing about the different types of joins increases what you can do with SQL ten-fold. Not only will you learn about the joins, you will learn what makes them different from each other both syntacticly and conceptually. In addition, you will have practice using each type of join 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 the different types of joins, you'll be working with a version of the CIA World Factbook data and using that to find the capital cities that are the most populated.


  • Learn what joins are and how to use the four common join types.
  • Learn how to use joins with subqueries to write intermediate queries.
  • Learn how to use joins to answer business questions.

Mission Outline

1. Introducing Joins
2. Understanding Inner Joins
3. Practicing Inner Joins
4. Left Joins
5. Right Joins and Outer Joins
6. Finding the Most Populous Capital Cities
7. Combining Joins with Subqueries
8. Challenge: Complex Query with Joins and Subqueries
9. Next Steps
10. 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);