1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| select d.deptno, d.dname, count(e.empno) from emp e inner join dept d on e.deptno=d.deptno group by d.deptno, d.dname; select d.deptno, d.dname, count(e.empno) from emp e, dept d where e.deptno=d.deptno group by d.deptno, d.dname; 显示40号部门的信息----需要使用外连接 oracle的写法: ----不支持 select d.deptno, d.dname, count(e.empno) from emp e, dept d where e.deptno(+)=d.deptno group by d.deptno; ---不支持此种写法 外连接: 右外连接: select d.deptno, d.dname, count(e.empno) from emp e right outer join dept d on e.deptno=d.deptno group by d.deptno, d.dname; 左外连接: SELECT d.deptno, d.dname, COUNT(e.empno) FROM dept d LEFT OUTER JOIN emp e ON e.deptno=d.deptno GROUP BY d.deptno, d.dname; 与oracle比较: mysql不支持oracle那样的外连接的写法, 需要使用right | left [outer] join 的写法 ,---->right|left [outer] join where---->on
|