繁体   English   中英

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

[英]Select data from two tables with LEFT JOIN

如何从第一个表中选择所有数据,如果在第二个表中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`

对不起,我的英语不好,谢谢。

这就是我们可以左加入的方式

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

您可以在此处了解有关左加入的更多信息。

接下来的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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM