JOIN

Моргунов Е.П. PostgreSQL. Основы языка SQL.pdf – стр. 152.

INNER JOIN

Возвращает записи, которые удовлетворяют условие в обоих таблицах. Результат не меняется в зависимости от порядка перечисления таблиц в запросе.

SELECT * FROM table1
INNER JOIN table2
ON table1.columnName = table2.columnName;

Знак = можно заменить на другой оператор сравнения.

LEFT OUTER JOIN, aka LEFT JOIN

Вернёт все записи из первой таблицы, и только те записи из второй, которые удовлетворили агрегирующему условию.

RIGHT OUTER JOIN, aka RIGHT JOIN

Вернёт все записи из второй таблицы, и только те записи из первой, которые удовлетворили агрегирующему условию.

Не реализован в SQLite.

FULL OUTER JOIN, aka OUTER JOIN

Вернет только те строки, которые удовлетворяют условию ИЛИ в первой, ИЛИ во второй таблице, но не в двух сразу. Полностью противоположен INNER JOIN.

UNION

Моргунов Е.П. PostgreSQL. Основы языка SQL.pdf – стр. 166.

В команде SELECT предусмотрены средства для выполнения операций с выборками, как с множествами, а именно:

  • UNION для вычисления объединения множеств строк из двух выборок;
  • INTERSECT для вычисления пересечения множеств строк из двух выборок;
  • EXCEPT для вычисления разности множеств строк из двух выборок.
SELECT arrival_city FROM routes
	WHERE departure_city = 'Москва'
UNION
SELECT arrival_city FROM routes
	WHERE departure_city = 'Санкт-Петербург'
ORDER BY arrival_city;

Для включения в результат строк-дубликатов, используется UNION ALL.


📂 SQL | Последнее изменение: 30.01.2024 18:21