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