【SQL】基本表的连接操作

           对于基本表的连接操作,我们已经学习过很多次了,数据库视频中学习过,数据库书中学习过,新闻发布系统中学习过,但是今天在用的时候,忽然觉得好生疏,现在跟着我的博客来回顾一下吧。


      理论篇:


         将几个表中的字段连接起来,进行查询,这就是连接操作。

         连接类型

         连接类型决定了如何处理连接条件中不匹配的元组。


                           


            其中内连接是等值连接,外连接分为了左连接、右连接、完全外连接三种。


            连接条件

            连接条件决定了俩个关系中哪些元组应该匹配,以及连接结果中出现哪些属性。

                          

           其中,natrual表示自然连接。on表示等值连接操作。using中a1、a2等表示公共属性。



        实践篇:

         

            俩个表,分别为ScoreEntity和StudentBindPaperTypeEntity,现在要查询俩个表中都有的studentID中的数据。


             内连接:

     select *
     from ScoreEntity as b 
     inner join 
     StudentBindPaperTypeEntity as s
     ON b.StudentId=s.StudentId
        

            需要说明的是,查询的结果中含有b.StudentId=s.StudentId的重复列。于是,这样就查询到了所需要的信息,我们可以在这个信息上进行自己想要的增删改查啦。


            外连接:   


      select *
      from ScoreEntity as b 
      left join 
      StudentBindPaperTypeEntity as s
      ON b.StudentId=s.StudentId
         

            需要说明的是,左连接是按照b.StudentId来遍历s.studentId,所有,结果就少不了b表有值,但是s表却为null。

右连接的道理和左连接的道理类似,只不过是以右面的表来遍历左边的表,结果会出现右边的表有值,而左边的表却是null的现象啦。


             完全外连接:


      select *
      from ScoreEntity as b 
      full outer join 
      StudentBindPaperTypeEntity as s
      ON b.StudentId=s.StudentId
          

            这个表的结果大家一定想到了,完全外连接是首先按照左边的表进行遍历,然后按照右边的表进行遍历,这样的结果一定会出现同一行中,左面的表有值,而右边的表是null,右面的表有值,而左面的表是null的现象啦。


            在实际中,这些连接要和其他的sql语句一起拼接使用,关于sql语句,一定要熟练掌握,这些都是很基本的东东,一定要熟练运用哦。






       


  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 26
    评论
评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值