Select 使用 LEFT JOIN 的两个表中的数据

Select data from two tables with LEFT JOIN

如何 select 来自第一个 table 的所有数据,如果在第二个 table row1 == row1 在第一个 table 那么我需要从第二个插入行 table 到 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`

对不起,我的英语不好,在此先感谢。

这就是我们如何放置左连接

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

您可以了解有关左联接的更多信息here

下面的 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; 

试试这个:

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