zoukankan      html  css  js  c++  java
  • mysql教程(四)连接查询

    1、在sql中一般分为内连接、外连接、自连接

      内连接使用inner join ,在实际使用中一般省略inner;

      外连接使用left/right outer join ,在实际使用中一般省略outer.

    2、inner join

      * 内连接只查询相等的数据(连接条件相等的数据)。

      * 表1 inner join 表2 on 关联条件

      * 做连接查询的时候一定要写上关联条件

    3、left join

      左连接以左面的表为准和右边的表比较,和左表相等的不相等都会显示出来,右表符合条件的显示,不符合条件的不显示。

      示例:select e.ename, e.sal, d.dname from emp e right outer join dept d on e.deptno=d.deptno;

    4、right join

      正好与左连接相反。

      示例:select e.ename, e.sal, d.dname from dept d left outer join emp e on e.deptno=d.deptno;

    5、自连接

      “自连接”,只有一张表连接,具体的查询方法,把一张表看作两张表即可。

      示例:select e.ename, m.ename from emp e, emp m where e.mgr=m.empno;

    6、注意

      在mysql中没有full outer join 全连接,如果想使用的话,可以使用union 将左连接和右连接连接起来;

      union合并结果集的时候,需要查询字段对应个数相同。在Oracle中更严格,不但要求个数相同,而且还要求类型对应相同。

      使用连接时,一定要写上关联条件,不然连接会变成笛卡尔积,结果与预期不符。

  • 相关阅读:
    CentOS7.4部署Python3+Django+uWSGI+Nginx
    测试:ATM
    JDBC_增删改
    HTTP请求状态码
    Servlet2
    Java日期时间3
    Servlet1
    安装Tomcat
    Java日期时间2
    广度优先遍历
  • 原文地址:https://www.cnblogs.com/wnnstudy/p/14111974.html
Copyright © 2011-2022 走看看