SQL之left join、right join、inner join的区别浅析

今天和某朋友聊天,谈到他们公司的一个小问题。如下:

表A设备表,存储MAC地址,省份,城市,区。
表B软件表,存储MAC地址,软件名字。
功能是可以按省份,城市,或者区来查询软件列表。

你猜它现在如何做的?

它通过省份,城市,或者区取得MAC地址,然后查询B表用in查询。
这个很明显是不合理的,处理这种多对多的关系,为什么不用多表联查呢?
链表的方法常用的有3个: (inner) join 内部等值连接、left join 左连接 和 right join右连接。

有什么区别呢?怎么用呢? 下面是copy的一篇文章:

left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录
right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录
inner join(等值连接) 只返回两个表中联结字段相等的行

举例如下:

表A记录如下:

复制代码 代码如下:
aID     aNum

1     a20050111

2     a20050112

3     a20050113

4     a20050114

5     a20050115

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/236709.html

(0)
上一篇 2022年1月24日
下一篇 2022年1月24日

相关推荐

发表回复

登录后才能评论