Если фраза FROM определяет более одной таблицы или подзапроса, то все эти таблицы соединяются. По умолчанию объединенная таблица представляет собой перекрестное соединение (CROSS JOIN), называемое также декартовым произведением (Cartesian product).
Следующие два оператора эквивалентны:
SELECT tbl1.f1, tbl2.f1 FROM tbl1, tbl2;
SELECT tbl1.f1, tbl2.f1 FROM tbl1 CROSS JOIN tbl2;
Рассмотрим случай, когда таблицы tbl1 и tbl2 имеют строки, отображенные операторами SELECT на рисунке 3.2.

Рис. 3.2. Строки таблиц tbl1 и tbl2
Перекрестное соединение таблиц tbl1 и tbl2 оператором SELECT сформируют результирующий набор, отображаемый на рисунке 3.3.

Рис. 3.3. Перекрестное соединение (CROSS JOIN)
Таким образом, перекрестное соединение создает результирующий набор со всеми возможными комбинациями строк.
Соединения позволяют выполнять временное объединение данных, не предусмотренное схемой (родительскими и внешними ключами).
Соединяемые таблицы перечисляются через запятую во фразе FROM оператора SELECT.
Во фразе FROM можно использовать следующие операторы соединений:
- CROSS JOIN - перекрестное соединение;
- NATURAL JOIN - естественное соединение. Стандарт SQL определяет это соединение как результат объединения таблиц по всем одноименным столбцам. Естественное соединение может быть следующих типов:
- INNER JOIN - внутреннее соединение, используется по умолчанию;
- LEFT JOIN [OUTER] - левое внешнее соединение;
- RIGHT JOIN[OUTER] - правое внешнее соединение;
- FULL JOIN [OUTER] - полное внешнее соединение;
- UNION JOIN - соединение объединения.