使用JOIN关联多张数据库表

在使用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的用法应该很清楚了,大家可以到系统实地操作一遍,记忆会更深刻!
原文地址:https://www.cnblogs.com/caizjian/p/2952158.html