Зміст курсу
Розширений Рівень SQL
Розширений Рівень SQL
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 returnsNULL
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 returnsNULL
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 returnsNULL
for the missing values in the other table.
Чудова робота! Інтернет-магазин оформив замовлення у постачальника на продукти, яких не вистачало на складі, тож вони не знадобляться нам до прибуття відправлення.
Це - відмінна нагода вивчити щось нове! Протягом попередніх 4-х розділів ви використовували стандартний JOIN
, не знаючи, що існують інші способи об'єднання таблиць.
Існує 4 основних типи об'єднання таблиць:
-
INNER JOIN
: Повертає лише ті рядки, які мають відповідні значення в обох таблицях; (Це об'єднання функціонує так само, як стандартний JOIN, який ви використовували дотепер) -
LEFT JOIN
: Повертає всі рядки з лівої таблиці та відповідні рядки з правої таблиці. Якщо відповідностей немає, повертаєNULL
для правої таблиці; -
RIGHT JOIN
: Повертає всі рядки з правої таблиці та відповідні рядки з лівої таблиці. Якщо відповідностей немає, повертаєNULL
для лівої таблиці; -
FULL JOIN
: Повертає всі рядки, коли є відповідність хоча б у одній з таблиць. Якщо відповідностей немає, повертаєNULL
за відсутніми значеннями в іншій таблиці.
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
:
Синтаксис для використання цих типів з'єднань насправді простий. Замість звичного JOIN
або INNER JOIN
просто вкажіть LEFT JOIN
або будь-який інший тип JOIN
.
У цьому випадку синтаксис буде виглядати так:
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
, andenrollments.enrollment_date
from thecourses
table. - Use a LEFT JOIN to join the
enrollments
table. - The common column for both tables is
courses.course_id = enrollments.course_id
.
Рішення
Дякуємо за ваш відгук!
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 returnsNULL
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 returnsNULL
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 returnsNULL
for the missing values in the other table.
Чудова робота! Інтернет-магазин оформив замовлення у постачальника на продукти, яких не вистачало на складі, тож вони не знадобляться нам до прибуття відправлення.
Це - відмінна нагода вивчити щось нове! Протягом попередніх 4-х розділів ви використовували стандартний JOIN
, не знаючи, що існують інші способи об'єднання таблиць.
Існує 4 основних типи об'єднання таблиць:
-
INNER JOIN
: Повертає лише ті рядки, які мають відповідні значення в обох таблицях; (Це об'єднання функціонує так само, як стандартний JOIN, який ви використовували дотепер) -
LEFT JOIN
: Повертає всі рядки з лівої таблиці та відповідні рядки з правої таблиці. Якщо відповідностей немає, повертаєNULL
для правої таблиці; -
RIGHT JOIN
: Повертає всі рядки з правої таблиці та відповідні рядки з лівої таблиці. Якщо відповідностей немає, повертаєNULL
для лівої таблиці; -
FULL JOIN
: Повертає всі рядки, коли є відповідність хоча б у одній з таблиць. Якщо відповідностей немає, повертаєNULL
за відсутніми значеннями в іншій таблиці.
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
:
Синтаксис для використання цих типів з'єднань насправді простий. Замість звичного JOIN
або INNER JOIN
просто вкажіть LEFT JOIN
або будь-який інший тип JOIN
.
У цьому випадку синтаксис буде виглядати так:
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
, andenrollments.enrollment_date
from thecourses
table. - Use a LEFT JOIN to join the
enrollments
table. - The common column for both tables is
courses.course_id = enrollments.course_id
.
Рішення
Дякуємо за ваш відгук!