一、SQL join
SQL中join是用于根据两个或多个表中的列之间的关系,从这些表中查询数据。
(1)、表A:
(2)、表B:
Select a.LastName, b.FisrtName,b.Order_No
from A inner join B
on a.id_P = B.id_P
order by B.OrderNo
结果集为:
分析:将A表和B表连接起来,取出两种中id_P字段相等的并且按照Order_No的顺序排列出来A表中lastname和fisrtname,以及B表中Order_No的字段值。
二、SQL join内连接
在表中存在至少一个匹配时,inner join关键字返回行。
注释:inner join 和join是相同的。
三、SQL种的四种join方式;
1、学生表student: 2学生成绩表mark:
(1)、JOIN(inner join)(等值连接):只返回两个表中 联结字段相等的行;
1)、Select s.name,m.mark
from student s,mark m
Where s.id = m.studentid
2)、select s.name,m.mark
from student s join mark m
on s.id = m.studentid
查询出的结果:
(2)、left join(左连接):返回包括左表中的所有记录和 右表中联结字段相等的记录;(也就是把左表中的 元组全部取出来)
Select s.name,m.mark
From student s left ouder join mark m
On s.id = m.studentid
分析:上面语句是把左表也就是student表中的元组全部选出来,尽管有些分数表示没有数据的,也选出来。
查询出的结果:
(3)、rigth join(右连接):返回包括右表中的所有记录 和左表中联结字段相等的记录;(即将右表的数据全 部取出,不管左表是否有匹配的数据)
select s.name,m.mark
from student s right ouder join mark m
on s.id = m.studentid
查询出的结果:
(4)、full join(全连接):把左右两个表的数据全部取出 来,不管是否匹配;
Select s.name,m,mark
from studet s full join mark m
on s.id = m.studentid
查处的结果: