Перейти к содержанию

Практическая JOIN

Цель работы

  • Научиться объединять данные из нескольких таблиц.
  • Освоить основные виды JOIN: INNER, LEFT, RIGHT, FULL, CROSS.
  • Понять, как связи между таблицами влияют на результат запроса.
  • Научиться применять JOIN к собственной базе данных.

Ход работы

Задание 1. INNER JOIN — получение связанных данных

  1. Выберите две связанные таблицы (например, Students и Groups).
  2. Составьте запрос с INNER JOIN, который выводит данные из обеих таблиц.
  3. Выберите 3–5 столбцов, которые имеют смысл вместе.

Задание 2. LEFT JOIN — показать записи без связей

  1. Выполните запрос с LEFT JOIN.
  2. Определите, какие записи из левой таблицы не имеют соответствия в правой.
  3. Добавьте условие WHERE, чтобы отфильтровать только те строки, где правые поля равны NULL.

Задание 3. RIGHT JOIN

  1. Выполните запрос с RIGHT JOIN.
  2. Определите, какие записи из правой таблицы не имеют соответствия в левой.

Если ваша СУБД не поддерживает RIGHT JOIN, выполните аналог с LEFT JOIN, поменяв таблицы местами.


Задание 4. FULL JOIN (если поддерживается)

  1. Выполните запрос FULL JOIN между двумя таблицами.
  2. Определите:
    • записи, которые есть в обеих таблицах;
    • записи, которые есть только в левой таблице;
    • записи, которые есть только в правой таблице.

Если FULL JOIN в вашей СУБД нет → пропустите или выполните два запроса (LEFT + RIGHT).


Задание 5. Комбинированные JOIN

Создайте запрос, который объединяет три таблицы, используя два JOIN подряд. Например:

  • студенты → группы → специальности,
  • товары → категории → поставщики,
  • книги → авторы → издательства.

Задание 6. CROSS JOIN — декартово произведение

  1. Выполните запрос CROSS JOIN между двумя небольшими таблицами.
  2. Определите, сколько строк получилось.
  3. Объясните, почему именно столько.

Используйте таблицы с небольшим количеством записей (например, 3 × 4 = 12).


Задание 7. JOIN + фильтрация результатов

Создайте запрос, который использует JOIN и одновременно условия WHERE. Например:

  • студенты определённой группы;
  • товары определённой категории;
  • книги определённого автора.

Требования к отчёту

Отчёт должен содержать:

  1. Тему.
  2. Краткое описание своей базы данных (что за предметная область, какие таблицы используются).
  3. Для каждого задания:
    • Используемые таблицы
    • SQL запрос + описание,
    • Результат.