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.
Рішення
Дякуємо за ваш відгук!
single