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,以第一个为准。

  

 

(0)
上一篇 2022年3月21日
下一篇 2022年3月21日

相关推荐