mysql 里面JOIN 和 INNER JOIN 区别是什么

SELECTa.*fromaasaJOIN(SELECTuserName,count(userName)ascountFROMaGROUPBY`userName`)asb... SELECT a.* from a as a JOIN
(SELECT userName ,count(userName) as count FROM a GROUP BY `userName`) as b
WHERE
a.userName=b.userName
order BY b.count desc,b.userName asc
加了个inner显示结果不一样 之前一种以为join和inner join是等价的 看来不是
展开
 我来答
床前明月儿
高能答主

2019-10-28 · 探索生活中的另一种可能
床前明月儿
采纳数:101 获赞数:171939

向TA提问 私信TA
展开全部

一、指代不同

1、JOIN:用于根据两个或多个表中的列之间的关系,从这些表中查询数据。

2、INNER JOIN :组合两个表中的记录,只要在公共字段之中有相符的值。

二、特点不同

1、JOIN:每个主键的值都是唯一的。这样做的目的是在不重复每个表中的所有数据的情况下,把表间的数据交叉捆绑在一起。

2、INNER JOIN :只要在这两个表的公共字段之中有相符值,内部联接将组合两个表中的记录。


三、规定不同

1、JOIN:如果表中有至少一个匹配,则返回行。

2、INNER JOIN :被联接的字段的名称。若不是由数字构成的,则这些字段必须为相同的数据类型并包含同类数据,但无须具有相同的名称。

参考资料来源:百度百科-INNER JOIN

参考资料来源:百度百科-SQL语句大全

老师小乔
推荐于2018-02-27 · TA获得超过3680个赞
知道大有可为答主
回答量:1985
采纳率:66%
帮助的人:682万
展开全部
但的确是等价的哦,没对比一下结果集中的记录是一样的吗?只是记录的顺序不一样哦。join是自然连接,对两张表中字段名和数据类型都相同的字段进行等值连接,并返回符合条件的结果,而inner join是内连接,显示符合连接条件的记录,连接条件已经指明了。这里需要注意join的时候和inner join连接时使用的连接条件是不一样的,所以在结果中记录出现的顺序会有所不同,但两个结果结合是一样的。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式