没什么区别,在执行方式和效率上都是一样的
只是书写的方式不同
基本上这个inner join 是为了区别 left join ,right join等的一个写法
而另外那种不是join的写法,只能等同于inner join
sql = "select [个人信息$].*,[工作经历$].* from [个人信息$],[工作经历$] where [个人信息$].UID=[工作经历$].UID"
sql = "select [个人信息$].*,[工作经历$].* from [个人信息$] inner Join [工作经历$] on [个人信息$].UID=[工作经历$].UID"
第一种是普通的多表查询,内部还是笛卡尔积的逐行的搜索机制,如果查询的几张表数据量大的话会降低性能;
第二种是内连接。两种方式得到的结果是一致的。
两者没什么区别,在执行方式和效率上都是一样的,只是书写的方式不同,基本上inner join 是为了区别 left join ,right join等的一个写法,而另外那种不是join的写法,只能等同于inner join。
第一种是普通的多表查询,内部还是笛卡尔积的逐行的搜索机制,如果查询的几张表数据量大的话会降低性能。慎用。
第二种是内连接。
两种方式得到的结果是一致的,推荐使用第二种。
刚特用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
所以得出结论两者查询速度上并无多大差别!