sql中直接from多表关联和inner join关联有什么区别么

sql中直接from多表关联和inner join关联有什么区别么

从结果上看一样。但是从实现上看,多个from是迪卡尔集,再筛选,效率是O(n^2),很差。
join是先做hash,再匹配,效率是O(logN),很好。所以推荐前者。

区别不大,from多表关联是老SQL标准,inner join关联是新SQL标准,仅此而已

普通的多表查询,内部还是笛卡尔积的逐行的搜索机制,如果查询的几张表数据量大的话会降低性能;
第二种是内连接。两种方式得到的结果是一致的。
两者没什么区别,在执行方式和效率上都是一样的,只是书写的方式不同,基本上inner join 是为了区别 left join ,right join等的一个写法,而另外那种不是join的写法,只能等同于inner join。

个人认为在执行时的区别不大,inner join能比较清楚告诉阅读者是哪些表进行了关联,以及关联的字段是什么。where就要读者自己去看了。对于SQL解释器就差别不大了。但是SQL规格推荐是用join的。

inner join(等值连接) 只返回两个表中联结字段相等的行的记录
直接from多表关联,是指隐式内连接吧? 不加where条件会出现笛卡尔积,这种结果没有实际意义
直接from多表关联 加了where条件以后,只有两个表相匹配的行才能在结果集中出现

个人认为 join关联好使点 虽然from也不差 但是从二者sql语句执行速度上来说 推荐join 如果你不想程序卡死

简单测试了下,条件相同的话,两种写法的执行计划是一样的,所以要具体分享sql才能确定