zoukankan      html  css  js  c++  java
  • SQL SERVER LEFT JOIN, INNER JOIN, RIGHT JOIN

    • JOIN: 如果表中有至少一个匹配,则返回行
    • LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行
    • RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行
    • FULL JOIN: 只要其中一个表中存在匹配,就返回行
    CREATE TABLE dbo.Student
    (
     Sno int  null
    ,Name nvarchar(23) 
    )
    CREATE TABLE dbo.Score
    (
     Sno int 
    ,Score INT
    )
    INSERT INTO dbo.Student(Sno,Name)VALUES(1,'Jesse');
    INSERT INTO dbo.Student(Sno,Name)VALUES(2,'Jessca');
    INSERT INTO dbo.Student(Sno,Name)VALUES(3,'June');
    INSERT INTO dbo.Student(Sno,Name)VALUES(4,'Supper');
    
    INSERT INTO dbo.Score(Sno,Score)VALUES (1,45)
    INSERT INTO dbo.Score(Sno,Score)VALUES (1,56)
    INSERT INTO dbo.Score(Sno,Score)VALUES (2,100)
    INSERT INTO dbo.Score(Sno,Score)VALUES (3,25)  


     查看数据:

    SELECT * FROM dbo.Student
    SELECT * FROM dbo.Score
    

      

    Left Join 会显示出左边的全部数据,右边如果没有对应的值,系统默认NULL

    SELECT *
    FROM dbo.Student a
    LEFT JOIN dbo.Score b
    ON a.Sno=b.Sno
    

      

    INNER JOIN 显示交集

    SELECT *
    FROM dbo.Student a
    INNER JOIN dbo.Score b
    ON a.Sno=b.Sno
    

      

    right join 右表全部显示,左表没有,默认设置为NULL

    SELECT *
    FROM dbo.Student a
    RIGHT JOIN dbo.Score b
    ON a.Sno=b.Sno
    

      

    FULL JOIN 左右边都显示,如果对方没有值得统一设置NULL

    SELECT *
    FROM dbo.Student a
    FULL JOIN dbo.Score b
    ON a.Sno=b.Sno
    

      

  • 相关阅读:
    python中的深拷贝和浅拷贝
    Andrew NG 机器学习编程作业6 Octave
    Andrew NG 机器学习编程作业5 Octave
    梯度下降算法对比(批量下降/随机下降/mini-batch)
    无监督算法
    深度学习的方差与偏差
    Andrew NG 机器学习编程作业4 Octave
    数据约束
    数据库的查询
    MySQL的入门与使用,sqlyog对数据库,表和数据的管理
  • 原文地址:https://www.cnblogs.com/Jesse-Li/p/7131624.html
Copyright © 2011-2022 走看看