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
如何 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