sql中join、inner join、left join、right join、full join

一、SQL join 

SQLjoin是用于根据两个或多个表中的列之间的关系,从这些表中查询数据。

 

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表中lastnamefisrtname,以及B表中Order_No的字段值。

 

二、SQL join内连接

在表中存在至少一个匹配时,inner join关键字返回行。

注释:inner join join是相同的

三、SQL种的四种join方式;

               1、学生表student:                                 2学生成绩表mark

                                                     

(1)JOINinner 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

查处的结果:


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值