Естественные соединения (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
|
Внимание
Если в двух исходных таблицах не будут найдены одноименные столбцы, то будет выполнен |