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 资料表的资料。
  • 相关阅读:
    软件开发模型
    Java学习--数组
    10年软件测试经验
    Log4net
    文件下载界面
    VB.NET中文双引号的处理方法
    SOAPUI使用
    .net数字转换成汉字大写
    SQL调用Webservices
    SQL大小写金额转换
  • 原文地址:https://www.cnblogs.com/yeungchi/p/6284274.html
Copyright © 2011-2022 走看看