首页 > 编程知识 正文

mysql多表左连接查询,oracle查询指定行数

时间:2023-05-05 23:42:25 阅读:15100 作者:1033

最近修正了使用左合并的数据问题。 在我的意识中,我以为a在左边连接b,检索到的记录数是a的记录数,但实际操作后发现认知大错误。

关于网上左连接的图

摘自网上的图。 图确实没有故障,但产生了误会。 我想记录数依然是a表的记录数。

现在举例说明问题

举一个例子

事件表中的数据如下

1

2

3

4

5id,name,地址

1,stu_1,beijing

3,stu_3,dalian

22,alan,wuhan

55,阿兰,辛江

地址表中的记录如下

1

2

3地址,id,描述

新江,1,新江真美

辛江,2,辛江真大

左连接操作如下

1

2

3选择*

from student a

leftjoinaddressbona.address=b.address

最终结果集记录数为5,address注意到辛江有两个数据。 WHY? 因为地址是新兴江确实在地址表中是两个记录。

结论

在W3Schools上,关于左连接是这样说的

theleftjoinkeywordreturnsallrecordsfromthelefttable (table1),andthematchedrecordsfromtherighttable (table2).theresultilt

如果这句话很完美,就会显示与table2匹配的所有记录。

最终左链接的记录数必须为=table1表记录数。 因为即使关联条件在table2中找不到关联记录也必须显示,但如果找到并不唯一,则还必须组合显示多个不唯一的记录。

当然,对于右链接、内链接或多个条件匹配的情况,结果相似。

最后写

问题很简单,但需要注意。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。