zoukankan      html  css  js  c++  java
  • SQL Server 连接(内连接,外连接,完全连接,交叉连接,联合)

    1.连接

      有时候需要将连个表的数据合并成一个结果集来显示。为了解决这个问题,就需要用到JOIN连接。

    2.内部连接

      内部连接根据一个或几个共同的字段将记录匹配到一起。内部连接仅仅返回那些存在字段匹配的记录。

      

      例子:

           film表                                 Actors表

                          

              

       内部连接的关键就是排他性,如上面的Actor表中演员Bogart因为在Film表中没有对应的ID,所以在结果集中就没有显示。

    3. 外部连接

       外部连接本质上是包含!!!

      

        

        左外部连接:个人理解就是左表边的全保留(包含),如果右边根据条件没有对应的行,则全是NULL,但还是会保留,不像内连接是直接不显示!

                  Action表                        Film表

             

                             内连接

           

            左外连接(左表Film表)                                右外连接(左表Film表)

                    

     4.完全连接

      顾名思义,将两个表的数据全部匹配。相当于左外连接加右外连接!

    5.交叉连接

      交叉连接不使用ON运算符,使用CROSS关键字。将左侧表与右侧表所有的记录连接,返回所有记录的笛卡尔积。

      

    6.联合

      联合(UNION)运算符,用于使两个或两个以上的查询产生一个结果集。

      把一个结果集拼到另一个结果集的末尾。

      使用UNION的注意事项:1.两个结果集(表)的列数要相同

                 2.UNION返回结果集的列名以第一个SELECT为准

                 3.两个结果集对应列的必须可以隐式转换

                 4.UNION默认消去重复行,可以使用关键字ALL来返回重复行

    仍然是之前的两张表:第一个SELECT 起名叫File 之后无论起什么名字都是File,以第一个为准。

      

  • 相关阅读:
    使用puppeteer爬取网页数据实践小结
    React服务器端渲染框架next.js项目实战及部署上下文context问题解决办法
    在 React 组件中监听 android 手机物理返回/回退/back键事件
    vue页面切换效果(slide效果切换)
    记录HttpWebRequest辅助类
    C#异常Retry通用类
    Quartz.net2.2初体验
    【jQuery源码】整体架构
    CSRF攻击原理及防御
    SpringBoot----跨域配置
  • 原文地址:https://www.cnblogs.com/dddyyy/p/9361148.html
Copyright © 2011-2022 走看看