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 将左连接和右连接连接起来;

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

 

mysql教程(四)连接查询

上一篇:django框架之聚合、分组查询和原生SQL等相关内容-69


下一篇:MySQL binlog日志操作详解