多表查询即连接查询,通过外键去连接。
inner join(内连接): 只返回两个表中跟联结字段(外键)相等的记录。
外连接outer join
left join(左联接): 以左表为基准,返回包括左表中的所有记录和右表中跟联结字段相等的记录。
right join(右联接):以右表为基准,返回包括右表中的所有记录和左表中跟联结字段相等的记录。
A left join(左连接)包含所有的左边表中的所有记录,右边表中和它匹配的记录。
同理,也存在着相同道理的 right join(右连接),即包含所有的右边表中的所以记录,左边表中和它匹配的记录。
A表(a1,b1,c1) B表(a2,b2)
a1 b1 c1 a2 b2
数学 95 01 01 张三
语文 90 02 02 李四
英语 80 04 03 王五
内连接:select a.,b. from a inner join b on(a.c1=b.a2); select a.,b. from a,b where a.c1=b.a2;
结果是: a1 b1 c1 a2 b2
数学 95 01 01 张三
语文 90 02 02 李四
左连接:select A.,B. from A left outer join B on(A.c1=B.a2)
结果是: a1 b1 c1 a2 b2
数学 95 01 01 张三
语文 90 02 02 李四
英语 80 04
右连接:select A.,B. from A right outer join B on(A.c1=B.a2) 结果是:
a1 b1 c1 a2 b2
数学 95 01 01 张三
语文 90 02 02 李四
03 王五
左连接: 左右两张表按某个列进行关联查找,左连接以左边的表为基础表,
基础表的数据全部都查找出来,右边的表如果有和左边的表的条
件相符的数据就查找出来,如果条件不相接符就用null显示。
右连接: 与上条件相反,结果相反
连接查询
多表查询
内连接: 内联查询是 从左边的表往右边的表查找能匹配的记录,无匹配的记录行不显示 inner join
外连接:
左连接:以左表为基础,左表全部显示,右边跟左表匹配的才显示,右连接反之。
left outer join left join
right outer join right join