MySQL:如何将两个表与一些不匹配的行连接起来

时间:2018-01-10 08:42:15

标签: mysql sql select join

我有两个MySQL表:

表1:

myTime|foo
----------
00:00 |8
----------
00:10 |6
----------
00:20 |1
----------
00:30 |5
----------
00:40 |3
----------
00:50 |4
----------

表2:

myTime|bar
----------
00:00 |6
----------
00:10 |10
----------
00:50 |5
----------

我想得到这个结果:

myTime|foo|bar
--------------
00:00 |8  |6
-------------
00:10 |6  |10
-------------
00:20 |1  |
-------------
00:30 |5  |
-------------
00:40 |3  |
-------------
00:50 |4  |5
-------------

尽管表2中没有时间= 0:20 - 0:40的条目,但结果中不应该使用这些行。

3 个答案:

答案 0 :(得分:2)

这正是left join的用途:

SELECT    table1.mytime, foo, bar
FROM      table1
LEFT JOIN table2 ON table1.mytime = table2.mytime

答案 1 :(得分:0)

您可以使用myTime字段LEFT JOIN。

答案 2 :(得分:0)

SELECT table1.mytime,
       table1.foo,
       table2.mytime,
       table2.bar
FROM table1
     LEFT JOIN table2 ON table1.mytime = table2.mytime;