连接两个表而不根据连接条件过滤数据

时间:2017-06-27 13:31:49

标签: mysql sql sql-server join

我有两个表Table1和Table2

表1:

ID1 |   C1  |   C2  |   C3
1   |   a   |   b   |   c
2   |   d   |   e   |   f
3   |   g   |   h   |   i

表2:

ID2 |   C4  |   C5  |   C6
2   |   k   |   l   |   m

我想加入表1和表2以获得以下结果:

ID1 |   C1  |   C2  |   C3  |   C4  |   C5  |   C6
1   |   a   |   b   |   c   |   -   |   -   |   -
2   |   d   |   e   |   f   |   k   |   l   |   m
3   |   g   |   h   |   i   |   -   |   -   |   -

这两个表在条件ID1=ID2上连接,并且当这个条件不成立时,表2中的其余列应自动为null。结果中的列总数应始终等于Table1中的列数。表1中的ID是表2中的超级ID。我应该使用哪种类型的连接和连接条件?

1 个答案:

答案 0 :(得分:1)

假设第一个表首先使用的左外连接。上面的SQL语法是:

SELECT * 
FROM Table1  
LEFT JOIN Table2 On Table1.ID1=Table2.ID2