永发信息网

sql中inner join on 和一般的多表查询有什么区别??

答案:4  悬赏:70  手机版
解决时间 2021-04-28 06:57
  • 提问者网友:饥饿走向夜
  • 2021-04-28 00:10
sql中inner join on 和一般的多表查询有什么区别??
最佳答案
  • 五星知识达人网友:酒醒三更
  • 2021-04-28 01:10
sql = "select [个人信息$].*,[工作经历$].* from [个人信息$],[工作经历$] where [个人信息$].UID=[工作经历$].UID"
sql = "select [个人信息$].*,[工作经历$].* from [个人信息$] inner  Join [工作经历$] on [个人信息$].UID=[工作经历$].UID"
第一种是普通的多表查询,内部还是笛卡尔积的逐行的搜索机制,如果查询的几张表数据量大的话会降低性能;
第二种是内连接。两种方式得到的结果是一致的。
两者没什么区别,在执行方式和效率上都是一样的,只是书写的方式不同,基本上inner join 是为了区别 left join ,right join等的一个写法,而另外那种不是join的写法,只能等同于inner join。
全部回答
  • 1楼网友:洒脱疯子
  • 2021-04-28 04:18

刚特用60万的数据进行多表关联查询,总结结果如下:

from多表关联查询:耗时15.376s、15.106s、15.216s、17.569s、15.729s,平均15.7992s
inner join on多表查询:耗时16.3s、17.469s、18.295s、15.505s、18.411s,平均17.196s

所以得出结论两者查询速度上并无多大差别!
  • 2楼网友:枭雄戏美人
  • 2021-04-28 03:19
没什么区别,在执行方式和效率上都是一样的
只是书写的方式不同
基本上这个inner join 是为了区别 left join ,right join等的一个写法
而另外那种不是join的写法,只能等同于inner join
  • 3楼网友:神的生死簿
  • 2021-04-28 02:31
第一种是普通的多表查询,内部还是笛卡尔积的逐行的搜索机制,如果查询的几张表数据量大的话会降低性能。慎用。
第二种是内连接。
两种方式得到的结果是一致的,推荐使用第二种。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯