Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте LEFT, RIGHT та INNER JOIN-и | Об'єднання Таблиць
Розширений Рівень SQL

bookLEFT, 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.

Рішення

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 3. Розділ 5
single

single

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

close

Awesome!

Completion rate improved to 4

bookLEFT, 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.

Рішення

Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

close

Awesome!

Completion rate improved to 4
Секція 3. Розділ 5
single

single

some-alt