Естественные соединения (NATURAL JOIN)
Взяв за основу соединения именованными столбцами, следующим шагом будет естественное соединение, которое выполняет эквисоединение по всем одноименным столбцам правой и левой таблицы.Типы данных этих столбцов должны быть совместимыми.
|
Note
|
Естественные соединения доступны только в диалекте 3. |
<natural-join> ::= NATURAL [<join-type>] JOIN <source>
<join-type> ::= INNER | {LEFT | RIGHT | FULL} [OUTER]
Даны две таблицы:
CREATE TABLE TA (
a BIGINT,
s VARCHAR(12),
ins_date DATE
);
CREATE TABLE TB (
a BIGINT,
descr VARCHAR(12),
x FLOAT,
ins_date DATE
);
Естественное соединение таблиц TA и TB будет происходить по столбцам a и ins_date и два следующих оператора дадут один и тот же результат:
SELECT *
FROM TA
NATURAL JOIN TB;
SELECT *
FROM TA
JOIN TB USING (a, ins_date);
Как и все соединения, естественные соединения являются внутренними соединениями по умолчанию, но вы можете превратить их во внешние соединения, указав LEFT, RIGHT или FULL перед ключевым словом JOIN.
|
Important
|
Внимание
Если в двух исходных таблицах не будут найдены одноименные столбцы, то будет выполнен |