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

bookLEFT, RIGHT та INNER Об'єднання

Інтернет-магазин замовив більше товарів у постачальника, оскільки запаси на складі закінчувалися. Це означає, що у нас є трохи вільного часу до прибуття поставки.

Скористаймося цією можливістю, щоб дізнатися щось нове! До цього часу ви використовували стандартний 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

bookLEFT, RIGHT та INNER Об'єднання

Свайпніть щоб показати меню

Інтернет-магазин замовив більше товарів у постачальника, оскільки запаси на складі закінчувалися. Це означає, що у нас є трохи вільного часу до прибуття поставки.

Скористаймося цією можливістю, щоб дізнатися щось нове! До цього часу ви використовували стандартний 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Перейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Все було зрозуміло?

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

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

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

single

some-alt