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是等价的 看来不是 展开
(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是等价的 看来不是 展开
2个回答
展开全部
一、指代不同
1、JOIN:用于根据两个或多个表中的列之间的关系,从这些表中查询数据。
2、INNER JOIN :组合两个表中的记录,只要在公共字段之中有相符的值。
二、特点不同
1、JOIN:每个主键的值都是唯一的。这样做的目的是在不重复每个表中的所有数据的情况下,把表间的数据交叉捆绑在一起。
2、INNER JOIN :只要在这两个表的公共字段之中有相符值,内部联接将组合两个表中的记录。
三、规定不同
1、JOIN:如果表中有至少一个匹配,则返回行。
2、INNER JOIN :被联接的字段的名称。若不是由数字构成的,则这些字段必须为相同的数据类型并包含同类数据,但无须具有相同的名称。
参考资料来源:百度百科-INNER JOIN
参考资料来源:百度百科-SQL语句大全
展开全部
但的确是等价的哦,没对比一下结果集中的记录是一样的吗?只是记录的顺序不一样哦。join是自然连接,对两张表中字段名和数据类型都相同的字段进行等值连接,并返回符合条件的结果,而inner join是内连接,显示符合连接条件的记录,连接条件已经指明了。这里需要注意join的时候和inner join连接时使用的连接条件是不一样的,所以在结果中记录出现的顺序会有所不同,但两个结果结合是一样的。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询