如何从第一个表中选择所有数据,如果在第一个表中的第二个表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`
我很抱歉我的英语不好,并提前感谢。
答案 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