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
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Can you explain the differences between each type of join with examples?
How do I decide which type of join to use in a specific scenario?
Can you show how to join the `courses` and `enrollments` tables using one of these joins?
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.
Рішення
Дякуємо за ваш відгук!
single