如何选择两个表中都具有的数据?

时间:2018-07-11 04:34:15

标签: mysql

这个问题有点令人费解。

通过示例表达这个问题

这里有两个表:

table1
id1    col1
 1       a
 2       b
 3       c
---------------------
table2
id2    col2
 1       b
 2       c
 3       d

如果我这样做:select * from table1 t inner join table2 tt on t.col1=tt.col2 我会得到这样的结果:

id1   col1   id2    col2
  2      b     1       b
  3      c     2       c

比问题要来

我想得到这样的结果

 id1   col1   id2    col2
   1      a  null    null
null   null     3       d

1 个答案:

答案 0 :(得分:0)

您通常会使用完全外部联接,但是在mysql中,您可以尝试以下操作:

SELECT * FROM table1 t
LEFT JOIN table2 tt ON t.col1=tt.col2
UNION
SELECT * FROM table2 tt
LEFT JOIN table1 t ON t.col1=tt.col2