只要其中某个表存在匹配,FULL JOIN 关键字就会返回行。
FULL JOIN 关键字语法
SELECT column_name(s)
FROM table_name1
FULL JOIN table_name2
ON table_name1.column_name=table_name2.column_name
注释:在某些数据库教程中, FULL JOIN 称为 FULL OUTER JOIN。
postgres=#
postgres=# CREATE TABLE t1 (
postgres(# num int,
postgres(# name varchar(10)
postgres(# );
CREATE TABLE
postgres=#
postgres=# insert into t1 values(1,'a');
INSERT 0 1
postgres=# insert into t1 values(2,'b');
INSERT 0 1
postgres=# insert into t1 values(3,'c');
INSERT 0 1
postgres=#
postgres=# CREATE TABLE t2 (
postgres(# num int,
postgres(# name varchar(10)
postgres(# );
CREATE TABLE
postgres=#
postgres=# insert into t2 values(1,'xxx');
INSERT 0 1
postgres=# insert into t2 values(3,'yyy');
INSERT 0 1
postgres=# insert into t2 values(5,'zzz');
INSERT 0 1
postgres=#
postgres=# SELECT * FROM t1 FULL JOIN t2 ON t1.num = t2.num;
num | name | num | name
-----+------+-----+------
1 | a | 1 | xxx
2 | b | |
3 | c | 3 | yyy
| | 5 | zzz