MySQL-连接查询

作者 : admin 本文共823个字,预计阅读时间需要3分钟 发布时间: 2024-06-12 共1人阅读

049-内连接之等值连接

案例:查询每个员工所在的部门名称,要求显示员工名、部门名。

select e.ename, d.dname from emp e inner join dept d on e.deptno=d.deptno;

注意:inner可以省略
MySQL-连接查询插图

select e.ename, d.dname from emp e join dept d on e.deptno=d.deptno WHERE sal>=2000;

MySQL-连接查询插图(1)

050-内连接之非等值连接

案例:查询每个员工的工资等级,要求显示员工名、工资、工资等级

select e.ename, e.sal, s.grade from emp e join salgrade s on e.sal between s.losal and s.hisal;

MySQL-连接查询插图(2)

051-内连接之自连接

案例:找出每个员工的直属领导,要求显示员工名、领导名

select e.ename employee, l.ename boss from emp e join emp l on e.mgr=l.empno;

MySQL-连接查询插图(3)

052-外连接

外连接之左外连接(左连接)

案例:查询所有部门信息,并且找出每个部门下的员工

select d.*, e.ename from dept d left outer join emp e on e.deptno=d.deptno;

注意:outer可以省略。
任何一个左连接都可以写作右连接。
MySQL-连接查询插图(4)

外连接之右外连接(右连接)

案例:找出所有员工的上级领导,要求显示员工名和领导名

select e.ename employee, l.ename boss from emp l right join emp e on e.mgr=l.empno;

MySQL-连接查询插图(5)

053-多表连接查询

三张表甚至更多张表如何进行表连接
案例:找出每个员工的部门,并且要求显示每个员工的薪资等级。

select d.dname, e.ename, s.grade from emp e join dept d on e.deptno=d.deptno join salgrade s on e.sal between s.losal and s.hisal;

MySQL-连接查询插图(6)

本站无任何商业行为
个人在线分享 » MySQL-连接查询
E-->