zoukankan      html  css  js  c++  java
  • SqlServer左连接、右连接、全连接、外连接、内连接

    一、外连接
    1.左连接
    2.右连接
    3.全连接
    三、内连接
    写法一
    写法二
    四、sqlserver外连接、内连接执行顺序上的探究
    Student表:


    Score表:


    一、外连接
    外连接分为左连接(LEFT JOIN)或称为左外连接(LEFT OUTER JOIN),右连接(RIGHT JOIN)或称为右外连接(RIGHT OUTER JOIN),全连接(FULL JOIN)或称为全外连接(FULL OUTER JOIN)。我们简称:左连接、右连接和全连接。

    1.左连接
    即左外连接。执行规则:返回左表中的所有行,如果左表中行在右表中没有匹配行,则结果中右表中的列返回空值。

    查询:

    select Student.sid, Student.sname, Score.score
    from Student
    left join
    Score
    on Student.sid = Score.sid
    1
    2
    3
    4
    5
    结果:


    2.右连接
    即右外连接。执行规则:与左连接相反,返回右表中的所有行,如果右表中行在左表中没有匹配行,则结果中左表中的列返回空值。

    查询;

    select Student.sid, Student.sname, Score.score
    from Student
    right join
    Score
    on Student.sid = Score.sid
    1
    2
    3
    4
    5
    结果:


    3.全连接
    即全外连接。执行规则:返回左表和右表中的所有行。当某行在另一表中没有匹配行,则另一表中的列返回空值。

    查询:

    select Student.sid, Student.sname, Score.score
    from Student
    full join
    Score
    on Student.sid = Score.sid
    1
    2
    3
    4
    5
    结果:


    三、内连接
    执行规则:获取两表的公共部分的记录

    写法一
    查询:

    select Student.sid, Student.sname, Score.score
    from Student
    inner join
    Score
    on Student.sid = Score.sid
    1
    2
    3
    4
    5
    结果:


    写法二
    查询:

    select Student.sid, Student.sname, Score.score
    from Student,Score
    where Student.sid = Score.sid
    1
    2
    3
    结果:


    四、sqlserver外连接、内连接执行顺序上的探究
    这里我们来探究一下外连接与内连接在执行顺序上的差异。

    表:


    外连接查询:

    select a.sid, a.score, b.sid, b.score
    from Score a
    left join
    Score b
    on a.score > b.score
    1
    2
    3
    4
    5
    内连接查询:

    select a.sid, a.score, b.sid, b.score
    from Score a
    inner join
    Score b
    on a.score > b.score
    1
    2
    3
    4
    5
    外连接结果:

    内连接结果:


    执行结果上的差异我们不谈,我们来看看sqlserver内部的执行顺序是什么,我们可以发现外连接的score是逐渐增加的,其实它的执行顺序是这样的。

    而内连接的score是呈驼峰状的,其实它的执行顺序是这样的。

    ————————————————
    版权声明:本文为CSDN博主「打不死Gin」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/dabusiGin/article/details/103409756

    一份耕耘,一份收获,付出就有回报永不遭遇过失败,因我所碰到的都是暂时的挫折
  • 相关阅读:
    互联网与局域网(四)
    Socket介绍(五)
    HttpClient(七)
    TCP协议与HTTP协议区别
    TCP连接的三次握手
    context-param和init-param区别
    【HPU】[1736]老王修马路(二)
    【HPU】[1735]老王修马路(一)
    【HPU】[1734]老王修公园
    【HPU】[1733]神奇的数字9
  • 原文地址:https://www.cnblogs.com/raincedar/p/14607019.html
Copyright © 2011-2022 走看看