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

     数据库脚本下载

  • 相关阅读:
    Ubuntu 15.04 下apt-get安装JDK
    Ubuntu下apt-get安装Java,Tomcat
    虚拟化技术比较 PV HVM
    Java8 Lambda表达式教程
    SpringMVC实现上传和下载
    web.xml中的url-pattern映射规则
    java文件读写操作大全
    Java创建文件
    JAVA文件中获取路径及WEB应用程序获取路径方法
    session.flush()与session.clear()的区别及使用环境
  • 原文地址:https://www.cnblogs.com/wudequn/p/7090832.html
Copyright © 2011-2022 走看看