使用LEFT JOIN从两个表中选择数据

时间:2015-01-07 08:59:13

标签: mysql sql

如何从第一个表中选择所有数据,如果在第一个表中的第二个表row1 == row1,那么我需要将第二个表中的行插入到LEFT JOIN的结果中。

first_table:

id    row1     some_data
1     2        test
2     3        test2

second_table:

id    row1    some_data
1     4       test
2     2       test2

需要的结果是:

id   row1   some_data   id     row1   some_data
1    2      test        2      2      test2
2    3      test2       NULL   NULL   NULL

查询:

SELECT * 
FROM `first_table` AS c 
LEFT JOIN `second_table` AS s ON `c`.`row1` = `s`.`row1`

我很抱歉我的英语不好,并提前感谢。

3 个答案:

答案 0 :(得分:1)

这就是我们如何放左连接

SELECT *
FROM first_table As c
LEFT JOIN second_table AS o ON c.row1 = o.row1

您可以详细了解左连接here

答案 1 :(得分:1)

以下LEFT OUTER JOIN应该给出所需的结果。重要的是使用别名表(t1,t2)来指定。

SELECT t1.id, t1.row1, t1.some_data, t2.id, t2.row1, t2.some_data
  FROM first_table t1
  LEFT JOIN second_table t2
    ON t1.row1 = t2.row2
ORDER BY t1.id; 

答案 2 :(得分:0)

试试这个:

SELECT f.*,s.id,s.row1,s.some_data
FROM first_table As f
LEFT JOIN second_table AS s ON f.row1 = s.row1