在使用OPEN SQL查询数据库时,经常会用到多表的查询,我们通常使用的是 JOIN.下面简单介绍一下他的用法。

JOIN分为三种inner join  left join right join

本帖隐藏的内容

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

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

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


Table A

字段   aid   avalue

记录1   1      a1

记录2   2      a2

记录3   3      a3


TableB

字段  bid bvalue

记录1  1    b1

记录2  2    b2

记录3  4    b4

现在我们呢使用三种不同的连接方式来连接a,b两表中的所有字段:

使用INNER JOIN

select * from a inner join b on a.aid = b.bid这是仅取出匹配的数据.

此时的取出的是:

1 a1 b1

2 a2 b2


本帖隐藏的内容

使用LEFT JOIN:

select * from a left join b on a.aid = b.bid

首先取出a表中所有数据,然后再加上与a,b匹配的的数据

此时的取出的是:

1 a1 b1 
2 a2 b2 
3 a3 空字符

使用right join

指的是首先取出b表中所有数据,然后再加上与a,b匹配的的数据

此时的取出的是:

1 a1 b1 
2 a2 b2 
4 空字符 b4

使用JOIN时不过关联过多的表,最多5张数据表,否则效能很低。

看了上面的例子后join的用法应该很清楚了,大家可以到系统实地操作一遍,记忆会更深刻!