如何完全联接两个表并在sql中为联接字段返回一列?

Foa*_*ebi -2 sql postgresql

我有2张这样的桌子:

Table A              Table B
+----------------+   +----------------+
|  id  | usage-a |   |  id  | usage-b |
|----------------|   |----------------|
|   1  |    v1   |   |   3  |    v5   |
|   2  |    v2   |   |   4  |    v6   |
|   3  |    v3   |   |   5  |    v7   |
|   4  |    v4   |   |   6  |    v8   |
+----------------+   +----------------+
Run Code Online (Sandbox Code Playgroud)

我想要这个:

Table A           
+--------------------------+   
|  id  | usage-a | usage-b |  
|--------------------------|   
|   1  |    v1   |   null  |
|   2  |    v2   |   null  |
|   3  |    v3   |    v5   |
|   4  |    v4   |    v6   |
|   5  |   null  |    v7   |
|   6  |   null  |    v8   | 
+--------------------------+   
Run Code Online (Sandbox Code Playgroud)

我该怎么办?我测试了“ FULL JOIN”,但它返回ID的两列以及一些空值

a_h*_*ame 5

由于两个联接列都具有相同的名称,因此您可以在using联接中使用运算符来实现此目的:删除重复的列。

select *
from a
  full outer join b using (id);
Run Code Online (Sandbox Code Playgroud)
select *
from a
  full outer join b using (id);
Run Code Online (Sandbox Code Playgroud)