文档详情

sql语句中join的用法和效率说明.pdf

发布:2025-05-06约9.37千字共18页下载文档
文本预览下载声明

共享知识分享快乐

数据库join语句使用及效率说明

在我们开发数据库的时候,一定要时刻考虑效率的要求

个人建议当多表关联的时候,尽量少用innerjoin

2010

宋述臣

卑微如蝼蚁、坚强似大象

共享知识分享快乐

第1章目录

第1章Sql之leftjoin、rightjoin、innerjoin的区别3

第2章INNERJOIN和leftJOIN8

2.1现在比较:leftjoin和innerjoin13

第3章提升leftjoin效率14

第4章SQLServer中Innerjoin和where的效率差异15

卑微如蝼蚁、坚强似大象

共享知识分享快乐

第1章Sql之leftjoin、rightjoin、innerjoin

的区别

leftjoin(左联接)返回包括左表中的所有记录和右表中联结字段相等的记录

rightjoin(右联接)返回包括右表中的所有记录和左表中联结字段相等的记录

innerjoin(等值连接)只返回两个表中联结字段相等的行

举例如下:

表A记录如下:

aIDaNum

1

2

3

4

5

表B记录如下:

bIDbName

12006032401

卑微如蝼蚁、坚强似大象

共享知识分享快乐

22006032402

32006032403

42006032404

82006032408

1.leftjoin

sql语句如下:

select*fromA

leftjoinB

onA.aID=B.bID

结果如下:

aIDaNumbIDbName

112006032401

222006032402

332006032403

卑微如蝼蚁、坚强似大象

共享知识分享快乐

442006032404

5NULLNULL

(所影响的行数为5行)

结果说明:

leftjoin是以A表的记录为基础的,A可以看成左表,B可以看成右表,leftjoin是以左表为

准的.

换句话说,左表(A)的记录将会全部表示出来,而右表(B)只会显示符合搜索条件的记录

(例子中为:A.aID=B.bID).

B表记录不足的地方均为NULL.

2.rightjoin

sql语句如下:

select*fromA

rightjoinB

onA.aID=B.bID

结果如下:

卑微如蝼蚁、坚强似大象

共享知识分享快乐

aIDaNumbIDbName

112006032401

显示全部
相似文档