Курс по SQL. Урок 8. Соединения таблиц. JOIN. Внутренние и внешние соединения.

YOUTUBE · 22.11.2025 05:06

Ключевые темы и таймкоды

Соединение таблиц

0:00
  • В видео объясняется, как использовать соединение таблиц в SQL для получения данных из нескольких таблиц.
  • Сначала создается запрос, который соединяет две таблицы, используя внутреннее соединение.

Пример соединения

1:18
  • В примере используется таблица фильмов и таблица языков для получения названия фильма и названия языка, на котором он снят.
  • Запрос соединяет две таблицы, проверяя, что поле "language" в таблице фильмов соответствует значению в поле "language" в таблице языков.

Работа соединения

3:10
  • При выполнении запроса, сначала берутся все пары строк из двух таблиц, и проверяется выполнение условия соединения.
  • Если условие выполнено, то строка добавляется в результирующую таблицу.

Пример с актерами

9:36
  • В примере также используется таблица актеров для получения информации о том, кто снимался в каком фильме.
  • Запрос объединяет три таблицы, используя внутреннее соединение и условие, что номер актера в таблице актеров совпадает с номером фильма в таблице фильмов.

Объединение таблиц

15:27
  • Объединяются две таблицы, содержащие информацию об актерах и фильмах, и результирующая таблица содержит все поля из обеих таблиц.
  • Затем результирующая таблица объединяется с таблицей фильмов, и формируется новая виртуальная таблица, содержащая все поля из всех трех таблиц.

Вывод информации об актерах

19:21
  • Запрос выводит список актеров, которые есть хотя бы на одном компакт-диске в магазине.
  • Для этого используется таблица инвентаризации, которая содержит информацию о наличии компакт-дисков с фильмами.

Получение уникального списка актеров

25:05
  • Запрос удаляет название фильма из результата и выполняет сортировку по полю актера.
  • Полученный список содержит только уникальных актеров, которые действительно есть на дисках в магазинах.

Получение списка фильмов, которых нет в прокате

27:59
  • Запрос использует внешнее левое соединение с таблицей компакт-дисков и получает список фильмов, по которым нет информации в таблице инвентаризации.

Левое внешнее соединение

30:13
  • В начале видео объясняется, как работает левое внешнее соединение.
  • Сначала выполняется внутреннее соединение, затем сравниваются результаты с правой таблицей и добавляются строки, если они найдены.
  • Если строки не найдены, они добавляются в результат с нулевыми значениями.

Права и внешнее соединение

34:55
  • Права и внешнее соединение гарантирует, что каждая строка из правой таблицы будет добавлена в результат, независимо от того, найдено ли соответствие в левой таблице.
  • Если используется левое соединение, то результат будет пустым.

Декартово произведение

37:49
  • Декартово произведение двух таблиц - это все возможные комбинации строк из этих таблиц.
  • Для получения декартова произведения таблиц можно использовать внутреннее соединение с условием, которое всегда истинно, или перечислить таблицы через запятую.

Вычисление пар фильмов и актеров

41:03
  • В примере вычисляются все возможные комбинации фильмов и актеров, где актер снимался в фильме или нет.
  • Для этого используется левое соединение с таблицей актеров и условие, что актер снимался в фильме.