学习中的猿 2018-06-04 03:11 采纳率: 33.3%
浏览 8190
已采纳

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

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

  • 写回答

7条回答 默认 最新

  • threenewbee 2018-06-04 03:17
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • zhouhero1 2018-06-04 09:54
    关注

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

    评论
  • TT^_^TT 2018-06-18 15:31
    关注

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

    评论
  • 一生宿命 2018-06-04 03:29
    关注

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

    评论
  • vamViolet 2018-06-04 03:26
    关注

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

    评论
  • 狗子猴子驴子 2018-06-04 08:35
    关注

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

    评论
  • CodeChenc 2021-12-30 17:45
    关注

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

    评论
查看更多回答(6条)

报告相同问题?

悬赏问题

  • ¥15 相同型号电脑与配置,发现主板有一台貌似缺少了好多元器件似的,会影响稳定性和使用寿命吗?
  • ¥15 要求编写稀疏矩阵A的转置矩阵的算法
  • ¥15 编写满足以下要求的停车场管理程序,设停车场只有一个可停放n辆车的狭窄通道且只有一个大门可供车辆进出。
  • ¥15 C语言:数据子序列基础版
  • ¥20 powerbulider 导入excel文件,显示不完整
  • ¥15 用keil调试程序保证结果进行led相关闪烁
  • ¥15 paddle训练自己的数据loss降不下去
  • ¥20 用matlab的pdetool解决以下三个问题
  • ¥15 单个福来轮的平衡与侧向滑动是如何做到的?
  • ¥15 嵌入式Linux固件,能直接告诉我crc32校验的区域在哪不,内核的校验我已经找到了,uboot没有