zoukankan      html  css  js  c++  java
  • SQL JOIN

        在机房收费系统个人重构的时候,非常多的功能都须要依据数据库中的一个表中的信息。去查询还有一个表中相匹配的信息,我们用到了视图,可是你有没有注意到以下的SQL语句呢?(SELECT...FROM...JOIN...ON...),接下来我们就一起来了解SQL中的JOIN.

       

      

    1、什么是JOIN?


       Join是关系型数据库系统的重要操作之中的一个,SQL Server中包括的经常使用Join:内联接、外联接和交叉联接等,Join用于依据两个或者多个表中的列之间的关系。从这些表中查询数据。

     

     

    2、怎么使用JOIN?


     新建两张表作为样例,表例如以下

         

     

    ●INNER JOIN


      SQL语句

    select * from T_NumA inner join T_NumB on T_NumA.aID=T_NumB.bID

        结果例如以下

                           

      执行的结果是得到两个表之间的交集。用右边的图能够看出,Inner join符合交换律:“A inner join B”,“B inner join A”一样。


     ●OUTER JOIN

     1)、LEFT(OUTER)JOIN和RIGHT(OUTER)JOIN

       SQL语句

     

    select * from T_NumA left outer join T_NumB on T_NumA.aID=T_NumB.bID

    select * from T_NumA right outer join T_NumB on T_NumA.aID=T_NumB.bID

    执行结果

      LEFT:

                          

      执行的结果:产生表A的全然集。而B表中匹配的则有值。没有匹配的则以null值代替。

      RIGHT:

             

      从执行的结果一眼就能够看出来。该联接产生表B的全然集,而A表中匹配的则有值。没有匹配的则以null值代替。

      

     2)、FULL(OUTER)JOIN

      SQL语句

    select * from T_NumA full outer join T_NumB on T_NumA.aID=T_NumB.bID

    执行结果:

                        

     

     由结果可知:该联接产生A和B的并集。

    可是须要注意的是,对于没有匹配的记录。则会以null做为值。


     ●CROSS JOIN

     SQL语句

    select * from T_NumA cross join T_NumB 

    执行结果:

     

     由执行结果可知:交叉联接执行的结果就是咱们在数据库系统原理中学的笛卡尔积(Cartesian Product),产生一个6*6=36行记录的结果集。


    3、结束语

     本文章所讲的联接语句都是将不同表的列进行纵向拼接。由于在做机房收费系统个人重构的时候,仅仅涉及到纵向拼接表的查询,有纵向,那么肯定也有横向。横向拼接也有多种方式:Not in,Union和Intersect,这里仅仅做简介。Not in是去两个结果集的差集。Union是两个集合的并集,会自己主动删除反复的记录。也能够用Union All来保留全部记录行。

    Intersect是两个集合的交集,即同一时候存在于两个集合中的记录。

     假设有什么不妥的地方。欢迎各位博友斧正!!

      

      


          

       

  • 相关阅读:
    “xmlns:d="http://schemas.microsoft.com/expression/blend/2008"” 命名空间不能被解析
    mysql 连接命令 表管理 ,克隆表,临时表,字符串属性,设定语句间的分隔符
    视图
    NULL值比较,两个列的合并,列值按条件替换。
    词性和 句子成份
    设置用户帐号只能一个地方登录
    数字的格式化,异常处理
    接口,构造器与垃圾回收机制,对像的生命周期。非静态方法与静态方法。
    继承,多态..
    JavaScript —— 常用数据类型隐式转换
  • 原文地址:https://www.cnblogs.com/mthoutai/p/6792134.html
Copyright © 2011-2022 走看看