LEFT, RIGHT та INNER JOIN-и
Інтернет-магазин замовив більше товарів у постачальника, оскільки запаси на складі закінчувалися. Це означає, що у нас є трохи вільного часу до прибуття поставки.
Скористаймося цією можливістю, щоб дізнатися щось нове! До цього часу ви використовували стандартний JOIN
у SQL, але існують й інші типи об'єднань таблиць.
Ось 4 основні типи об'єднань таблиць:
INNER JOIN
: Повертає рядки з відповідними значеннями в обох таблицях. Це те саме, що й стандартний JOIN, який ви використовували;
LEFT JOIN
: Повертає всі рядки з лівої таблиці та відповідні рядки з правої таблиці. Якщо відповідностей немає, повертаєNULL
для правої таблиці;
RIGHT JOIN
: Повертає всі рядки з правої таблиці та відповідні рядки з лівої таблиці. Якщо відповідностей немає, повертаєNULL
для лівої таблиці;
FULL JOIN
: Повертає всі рядки, якщо є збіг хоча б в одній з таблиць. Якщо збігів немає, повертаєNULL
для відсутніх значень в іншій таблиці.
Перш ніж перейти до використання цих типів об'єднань, розглянемо дві таблиці, з якими будемо працювати. Вони містять інформацію про курси та студентів, які на них записані.
courses
:
enrollments
:
Синтаксис використання цих типів об'єднань насправді простий. Замість звичного JOIN
або INNER JOIN
, просто вкажіть LEFT JOIN
або інший тип JOIN
:
SELECT table1.column, table2.column
FROM table1 -- this is the LEFT table
LEFT JOIN table 2 -- this is the RIGHT table
ON table1.common_column = table2.common_column
Swipe to start coding
Напишіть запит для отримання списку всіх курсів та студентів, які на них записані, включаючи курси без зареєстрованих студентів.
Потрібно отримати такі стовпці у такому порядку:
courses.course_id,
courses.course_name,
courses.description,
enrollments.student_name,
enrollments.enrollment_date
Використайте відповідний тип JOIN
для виконання цього завдання!
Короткі інструкції
- Отримайте стовпці
courses.course_id
,courses.course_name
,courses.description
,enrollments.student_name
таenrollments.enrollment_date
з таблиціcourses
. - Використайте LEFT JOIN для приєднання таблиці
enrollments
. - Спільний стовпець для обох таблиць —
courses.course_id = enrollments.course_id
.
Рішення
Дякуємо за ваш відгук!
single
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Awesome!
Completion rate improved to 4
LEFT, RIGHT та INNER JOIN-и
Свайпніть щоб показати меню
Інтернет-магазин замовив більше товарів у постачальника, оскільки запаси на складі закінчувалися. Це означає, що у нас є трохи вільного часу до прибуття поставки.
Скористаймося цією можливістю, щоб дізнатися щось нове! До цього часу ви використовували стандартний JOIN
у SQL, але існують й інші типи об'єднань таблиць.
Ось 4 основні типи об'єднань таблиць:
INNER JOIN
: Повертає рядки з відповідними значеннями в обох таблицях. Це те саме, що й стандартний JOIN, який ви використовували;
LEFT JOIN
: Повертає всі рядки з лівої таблиці та відповідні рядки з правої таблиці. Якщо відповідностей немає, повертаєNULL
для правої таблиці;
RIGHT JOIN
: Повертає всі рядки з правої таблиці та відповідні рядки з лівої таблиці. Якщо відповідностей немає, повертаєNULL
для лівої таблиці;
FULL JOIN
: Повертає всі рядки, якщо є збіг хоча б в одній з таблиць. Якщо збігів немає, повертаєNULL
для відсутніх значень в іншій таблиці.
Перш ніж перейти до використання цих типів об'єднань, розглянемо дві таблиці, з якими будемо працювати. Вони містять інформацію про курси та студентів, які на них записані.
courses
:
enrollments
:
Синтаксис використання цих типів об'єднань насправді простий. Замість звичного JOIN
або INNER JOIN
, просто вкажіть LEFT JOIN
або інший тип JOIN
:
SELECT table1.column, table2.column
FROM table1 -- this is the LEFT table
LEFT JOIN table 2 -- this is the RIGHT table
ON table1.common_column = table2.common_column
Swipe to start coding
Напишіть запит для отримання списку всіх курсів та студентів, які на них записані, включаючи курси без зареєстрованих студентів.
Потрібно отримати такі стовпці у такому порядку:
courses.course_id,
courses.course_name,
courses.description,
enrollments.student_name,
enrollments.enrollment_date
Використайте відповідний тип JOIN
для виконання цього завдання!
Короткі інструкції
- Отримайте стовпці
courses.course_id
,courses.course_name
,courses.description
,enrollments.student_name
таenrollments.enrollment_date
з таблиціcourses
. - Використайте LEFT JOIN для приєднання таблиці
enrollments
. - Спільний стовпець для обох таблиць —
courses.course_id = enrollments.course_id
.
Рішення
Дякуємо за ваш відгук!
Awesome!
Completion rate improved to 4single