Перейти к содержанию

Джойны

INNER JOIN

То же, что и JOIN. Возвращает только те строки, для которых есть совпадения в обеих таблицах по условию соединения (ON).


SELF JOIN

Соединение таблицы самой с собой.

Обычно используется с алиасами, чтобы отличать “две версии” одной таблицы.


CROSS JOIN

Возвращает декартово произведение: каждая строка из первой таблицы соединяется с каждой строкой второй.

Число результатов = строки_таблицы1 × строки_таблицы2.

Обычно используется редко, если явно нужно перебрать все комбинации.


LEFT JOIN (LEFT OUTER JOIN)

Возвращает все строки из левой таблицы, даже если нет совпадения в правой.

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


RIGHT JOIN (RIGHT OUTER JOIN)

Аналогично LEFT JOIN, но сохраняет все строки из правой таблицы.

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


FULL JOIN (FULL OUTER JOIN)

Возвращает все строки из обеих таблиц.

Где есть совпадения — соединяет; где нет — заполняет недостающие поля NULL.