Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
LEFT, RIGHT and INNER JOINs | Joining Tables
Intermediate SQL
course content

Course Content

Intermediate SQL

Intermediate SQL

1. Grouping
2. Nested Subqueries
3. Joining Tables
4. DDL and DML in SQL

book
LEFT, RIGHT and INNER JOINs

The online store has ordered more products from a supplier because they were running low on stock. This means we have some free time until the shipment arrives.

Let's use this opportunity to learn something new! So far, you've been using the standard JOIN in SQL, but there are other types of joins you can use.

Here are the 4 main types of table joins:

  • INNER JOIN: Returns rows with matching values in both tables. This is the same as the standard JOIN you've been using;

  • LEFT JOIN: Returns all rows from the left table and the matching rows from the right table. If there are no matches, it returns NULL for the right table;

  • RIGHT JOIN: Returns all rows from the right table and the matching rows from the left table. If there are no matches, it returns NULL for the left table;

  • FULL JOIN: Returns all rows when there is a match in one of the tables. If there are no matches, it returns NULL for the missing values in the other table.

Before we dive into using these joins, let's check out the two tables we'll be working with. They contain details about courses and the students enrolled in them.

courses:

enrollments:

The syntax for using these types of joins is actually simple. Instead of the familiar JOIN or INNER JOIN, just specify LEFT JOIN or any other type of JOIN:

Task
test

Swipe to show code editor

Write a query to retrieve a list of all courses and the students enrolled, including courses with no registered students.

You need to fetch the following columns in this order:

Use the appropriate type of JOIN to solve this task!

Brief Instructions

  • Retrieve the columns courses.course_id, courses.course_name, courses.description, enrollments.student_name, and enrollments.enrollment_date from the courses table.
  • Use a LEFT JOIN to join the enrollments table.
  • The common column for both tables is courses.course_id = enrollments.course_id.

Solution

Switch to desktopSwitch to desktop for real-world practiceContinue from where you are using one of the options below
Everything was clear?

How can we improve it?

Thanks for your feedback!

Section 3. Chapter 5
toggle bottom row

book
LEFT, RIGHT and INNER JOINs

The online store has ordered more products from a supplier because they were running low on stock. This means we have some free time until the shipment arrives.

Let's use this opportunity to learn something new! So far, you've been using the standard JOIN in SQL, but there are other types of joins you can use.

Here are the 4 main types of table joins:

  • INNER JOIN: Returns rows with matching values in both tables. This is the same as the standard JOIN you've been using;

  • LEFT JOIN: Returns all rows from the left table and the matching rows from the right table. If there are no matches, it returns NULL for the right table;

  • RIGHT JOIN: Returns all rows from the right table and the matching rows from the left table. If there are no matches, it returns NULL for the left table;

  • FULL JOIN: Returns all rows when there is a match in one of the tables. If there are no matches, it returns NULL for the missing values in the other table.

Before we dive into using these joins, let's check out the two tables we'll be working with. They contain details about courses and the students enrolled in them.

courses:

enrollments:

The syntax for using these types of joins is actually simple. Instead of the familiar JOIN or INNER JOIN, just specify LEFT JOIN or any other type of JOIN:

Task
test

Swipe to show code editor

Write a query to retrieve a list of all courses and the students enrolled, including courses with no registered students.

You need to fetch the following columns in this order:

Use the appropriate type of JOIN to solve this task!

Brief Instructions

  • Retrieve the columns courses.course_id, courses.course_name, courses.description, enrollments.student_name, and enrollments.enrollment_date from the courses table.
  • Use a LEFT JOIN to join the enrollments table.
  • The common column for both tables is courses.course_id = enrollments.course_id.

Solution

Switch to desktopSwitch to desktop for real-world practiceContinue from where you are using one of the options below
Everything was clear?

How can we improve it?

Thanks for your feedback!

Section 3. Chapter 5
Switch to desktopSwitch to desktop for real-world practiceContinue from where you are using one of the options below
We're sorry to hear that something went wrong. What happened?
some-alt