在使用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的用法应该很清楚了,大家可以到系统实地操作一遍,记忆会更深刻!