Команда ON

Команда ON используется совместно с операторами JOIN для задания условия, по которому строки из разных таблиц считаются связанными. Условие обычно сравнивает значения столбцов из левой и правой таблиц.

Синтаксис

sqlSELECT column_list FROM table_name JOIN related_table ON join_condition

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

countries
id name
1 Russia
2 Belarus
cities
id name country_id
1 Moscow 1
2 Saint Petersburg 1
3 Minsk 2
4 Gomel 2

Пример

Давайте свяжем таблицы стран и городов по идентификатору страны:

sqlSELECT
  cities.name AS city_name,
  countries.name AS country_name
FROM cities
INNER JOIN countries
ON countries.id = cities.country_id
ORDER BY cities.id

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

city_name country_name
Moscow Russia
Saint Petersburg Russia
Minsk Belarus
Gomel Belarus

Пример

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

sqlSELECT
  cities.name AS city_name,
  countries.name AS country_name
FROM cities
LEFT JOIN countries
ON countries.id = cities.country_id
ORDER BY cities.id

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

city_name country_name
Moscow Russia
Saint Petersburg Russia
Minsk Belarus
Gomel Belarus

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

  • команду JOIN,
    которая соединяет строки из таблиц
  • команду INNER JOIN,
    которая оставляет только совпадения
  • команду LEFT JOIN,
    которая сохраняет все строки слева
  • команду USING,
    которая соединяет по одноимённому столбцу