НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
115 of 150 menu

Команда LEFT JOIN

Команда LEFT JOIN используется для объединения двух таблиц по условию связи между столбцами. Она возвращает все строки из левой таблицы и соответствующие строки из правой таблицы.

Если для строки из левой таблицы не найдено соответствия в правой таблице, такая строка всё равно попадёт в результат, но значения столбцов правой таблицы будут равны NULL.

Таким образом, LEFT JOIN позволяет сохранить все данные основной таблицы, даже если связанные данные отсутствуют.

Синтаксис

SELECT table1.column_list, table2.column_list FROM table1 LEFT JOIN table2 ON table1.column_name = table2.column_name

Таблицы для примеров

countries
id name
1 Belarus
2 Russia
3 Ukraine
cities
id name country_id
1 Minsk 1
2 Vitebsk 1
3 Moscow 2
4 Vladivostok 2
6 London NULL

Пример

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

SELECT cities.id AS city_id, cities.name AS city_name, countries.id AS country_id, countries.name AS country_name FROM cities LEFT JOIN countries ON countries.id = cities.country_id

Результат выполнения кода:

city_id city_name country_id country_name
1 Minsk 1 Belarus
2 Vitebsk 1 Belarus
3 Moscow 2 Russia
4 Vladivostok 2 Russia
6 London NULL NULL

Пример

Давайте выберем только города, у которых страна Russia, используя условие после соединения:

SELECT cities.name AS city_name, countries.name AS country_name FROM cities LEFT JOIN countries ON countries.id = cities.country_id WHERE countries.name = 'Russia'

Результат выполнения кода:

city_name country_name
Moscow Russia
Vladivostok Russia

Пример

Давайте найдём города, для которых не существует связанной страны:

SELECT cities.name FROM cities LEFT JOIN countries ON countries.id = cities.country_id WHERE countries.id IS NULL

Результат выполнения кода:

name
London

Смотрите также

  • JOIN,
    которая связывает таблицы по условию
  • RIGHT JOIN,
    которая выбирает все строки правой таблицы
  • INNER JOIN,
    которая выбирает только совпадающие строки
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить