Логотип коледжу
Оптико-механічний фаховий коледж

Практична робота №15. Складання запитів із внутрішніми та зовнішніми JOIN

Мета

Навчитися з'єднувати таблиці операторами INNER, LEFT, RIGHT, FULL JOIN та пояснювати вплив зовнішніх з'єднань на результат.

Підготовка

Перед виконанням опрацюйте пов'язану лекцію:

Завдання

  1. Підготуйте дані: таблиці departments, courses, enrollments та students (додайте таблицю студентів із практичної №9, якщо її немає), наповніть їх даними, зокрема курсом без підрозділу або реєстраціями без студента для демонстрації зовнішніх JOIN.
  2. Виконайте INNER JOIN і поясніть, які рядки зникають:
SELECT d.name AS department, c.title AS course
FROM college.courses AS c
JOIN college.departments AS d USING (department_id)
ORDER BY d.name;
  1. Виконайте LEFT JOIN від departments до courses та поясніть рядки з NULL.
  2. Виконайте RIGHT JOIN та FULL JOIN для тих самих таблиць. Для кожного запиту запишіть, які рядки додаються порівняно з попереднім.
  3. Побудуйте звіт «студент — курс — оцінка» із використанням двох JOIN.
  4. Покажіть різницю між USING і ON на прикладі та поясніть, як вибір впливає на стовпці результату.

Вимоги до результату

  • SQL-скрипт join.sql із запитами та коментарями.
  • Для кожного типу JOIN: запит, результат, пояснення зниклих/доданих рядків.
  • Приклад із USING та ON.

Питання для захисту

  • Що повертає LEFT JOIN, якщо для лівого рядка немає пари?
  • Чим INNER JOIN відрізняється від LEFT JOIN?
  • Коли доцільний FULL JOIN?
  • Як запобігти помилковому множенню рядків при JOIN?

Пов'язані лекції

Ресурси

Здати роботу