zoukankan      html  css  js  c++  java
  • SQLSERVER 的联接查询写法

    1.内连接
    语法:【JOIN、INNER JOIN】
    作用:两个表相连,加上ON匹配两个表的共同条件。
    实例1:
    SELECT tb_o_i.* FROM tb_o_i INNER JOIN tb_o_ig ON tb_o_i.c_id=tb_o_ig.c_id AND tb_o_i.c_provider='00996'
    实例2:
    SELECT tb_o_i.* FROM tb_o_i join tb_o_ig ON tb_o_i.c_id=tb_o_ig.c_id WHERE tb_o_i.c_provider='00996'
     
    2.左连接
    语法:【LEFT JOIN、LEFT OUTER JOIN】
    作用:指的是首先取出左边表中所有数据,然后再加上ON与两个表共同条件匹配的的数据。
    实例3:
    SELECT tb_o_i.* FROM tb_o_i LEFT JOIN tb_o_ig ON tb_o_i.c_id=tb_o_ig.c_id WHERE  tb_o_i.c_provider='00996'
    注意:ON后面只能跟一个关联条件,把之后的条件都加到where里面,下面这种写法是错误,因为第二条件on已经不起作用了)
    实例4:
    SELECT tb_o_i.* FROM tb_o_i LEFT JOIN tb_o_ig ON tb_o_i.c_id=tb_o_ig.c_id and tb_o_i.c_provider='00996'
     
    3.右连接
    语法:【RIGHT JOIN、RIGHT OUTER JOIN】
    作用:指的是首先取出右边表中所有数据,然后再加上ON与两个表共同条件匹配的的数据。
    实例5:
    SELECT tb_o_i.* FROM tb_o_i RIGHT JOIN tb_o_ig ON tb_o_i.c_id=tb_o_ig.c_id WHERE  tb_o_i.c_provider='00996'
     
    4.全连接
    语法:【FULL JOIN、FULL OUTER JOIN】
    作用:完整外部联接返回左表和右表中的所有行。当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值,如果表之间有匹配行,则整个结果集行包含基表的数据值。
     
    注意:语法中的 Outer 是可以省略的, 例如你可以用 Left Join 或是 Right Join, 在本质上, Outer Join 是 inclusive, 叫它做包容性吧!
    不同于 Inner Join 的排他性, 因此在 Left Outer Join 的查询结果会包含所有 Left 资料表的资料, 颠倒过来讲, Right Outer Join 的查询就会包含所有 Right 资料表的资料。
  • 相关阅读:
    笛卡尔树学习笔记
    图论基础(自认为很全)
    我的博客在这里
    C++学习资料
    test
    个人介绍
    CF1153F Serval and Bonus Problem
    【ZJOI2020】抽卡
    【LOJ】小 Q 的序列
    我的个人博客:https://xyix.github.io
  • 原文地址:https://www.cnblogs.com/yeungchi/p/6284274.html
Copyright © 2011-2022 走看看