zoukankan      html  css  js  c++  java
  • SQL连接查询

    一、内连接

      等值连接

    SELECT * FROM Student AS s INNER JOIN Class AS c ON c.ClassID = s.ClassID
    1    张三    19    1    1    班级1
    2    李四    18    1    1    班级1
    3    王五    16    2    2    班级2
    3    王五    16    2    2    班级2

      不等值连接

    SELECT * FROM Student AS s INNER JOIN Class AS c ON c.ClassID != s.ClassID
    1    张三    19    1    2    班级2
    1    张三    19    1    3    班级3
    1    张三    19    1    4    班级4
    1    张三    19    1    5    班级5
    1    张三    19    1    2    班级2
    2    李四    18    1    2    班级2
    2    李四    18    1    3    班级3
    2    李四    18    1    4    班级4
    2    李四    18    1    5    班级5
    2    李四    18    1    2    班级2
    3    王五    16    2    1    班级1
    3    王五    16    2    3    班级3
    3    王五    16    2    4    班级4
    3    王五    16    2    5    班级5
    4    啦啦    20    7    1    班级1
    4    啦啦    20    7    2    班级2
    4    啦啦    20    7    3    班级3
    4    啦啦    20    7    4    班级4
    4    啦啦    20    7    5    班级5
    4    啦啦    20    7    2    班级2

      自然连接

    SELECT * FROM Student AS s ,Class AS c WHERE c.ClassID=s.ClassID
    1    张三    19    1    1    班级1
    2    李四    18    1    1    班级1
    3    王五    16    2    2    班级2
    3    王五    16    2    2    班级2

    二、外连接

      左外连接

    SELECT * FROM Class AS c LEFT JOIN Student AS s ON s.ClassID = c.ClassID
    1    班级1    1    张三    19    1
    1    班级1    2    李四    18    1
    2    班级2    3    王五    16    2
    3    班级3    NULL    NULL    NULL    NULL
    4    班级4    NULL    NULL    NULL    NULL
    5    班级5    NULL    NULL    NULL    NULL
    2    班级2    3    王五    16    2

      右外连接

    SELECT * FROM Class AS c RIGHT JOIN Student AS s ON s.ClassID = c.ClassID
    1    班级1    1    张三    19    1
    1    班级1    2    李四    18    1
    2    班级2    3    王五    16    2
    2    班级2    3    王五    16    2
    NULL    NULL    4    啦啦    20    7

      全外连接

    SELECT * FROM Class AS c FULL JOIN Student AS s ON s.ClassID = c.ClassID
    1    班级1    1    张三    19    1
    1    班级1    2    李四    18    1
    2    班级2    3    王五    16    2
    3    班级3    NULL    NULL    NULL    NULL
    4    班级4    NULL    NULL    NULL    NULL
    5    班级5    NULL    NULL    NULL    NULL
    2    班级2    3    王五    16    2
    NULL    NULL    4    啦啦    20    7

    三、交叉连接

       CROSS JOIN  后面不能用ON过滤,可以用WHERE 

    SELECT * FROM Class AS c CROSS JOIN Student AS s
    1    班级1    1    张三    19    1
    2    班级2    1    张三    19    1
    3    班级3    1    张三    19    1
    4    班级4    1    张三    19    1
    5    班级5    1    张三    19    1
    2    班级2    1    张三    19    1
    1    班级1    2    李四    18    1
    2    班级2    2    李四    18    1
    3    班级3    2    李四    18    1
    4    班级4    2    李四    18    1
    5    班级5    2    李四    18    1
    2    班级2    2    李四    18    1
    1    班级1    3    王五    16    2
    2    班级2    3    王五    16    2
    3    班级3    3    王五    16    2
    4    班级4    3    王五    16    2
    5    班级5    3    王五    16    2
    2    班级2    3    王五    16    2
    1    班级1    4    啦啦    20    7
    2    班级2    4    啦啦    20    7
    3    班级3    4    啦啦    20    7
    4    班级4    4    啦啦    20    7
    5    班级5    4    啦啦    20    7
    2    班级2    4    啦啦    20    7
    View Code

     数据库脚本下载

  • 相关阅读:
    关于C#中Environment.OSVersion判断操作系统及Win10上的问题
    C#各种数组直接的数据复制/转换
    移位操作<<和>>,是逻辑数字上的移动(和大端小端无关)
    log4net学习笔记
    链接错误——无法解析的外部符号 ConvertStringToBST
    当Thread.Sleep的暂停时间参数设置过小时,精度很差的解决方法
    Python发送邮件
    Python使用HTMLTestRunner运行所有用例并产生报告
    pandas学习笔记
    Python requests模块做接口测试
  • 原文地址:https://www.cnblogs.com/wudequn/p/7090832.html
Copyright © 2011-2022 走看看