MySQL-连接查询

049-内连接之等值连接

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

sql 复制代码
select e.ename, d.dname from emp e inner join dept d on e.deptno=d.deptno;

注意:inner可以省略

sql 复制代码
select e.ename, d.dname from emp e join dept d on e.deptno=d.deptno WHERE sal>=2000;

050-内连接之非等值连接

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

sql 复制代码
select e.ename, e.sal, s.grade from emp e join salgrade s on e.sal between s.losal and s.hisal;

051-内连接之自连接

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

sql 复制代码
select e.ename employee, l.ename boss from emp e join emp l on e.mgr=l.empno;

052-外连接

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

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

sql 复制代码
select d.*, e.ename from dept d left outer join emp e on e.deptno=d.deptno;

注意:outer可以省略。

任何一个左连接都可以写作右连接。

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

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

sql 复制代码
select e.ename employee, l.ename boss from emp l right join emp e on e.mgr=l.empno;

053-多表连接查询

三张表甚至更多张表如何进行表连接

案例:找出每个员工的部门,并且要求显示每个员工的薪资等级。

sql 复制代码
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;
相关推荐
未来之窗软件服务1 分钟前
sql速度优化多条合并为一条语句
数据库
山东布谷科技官方3 分钟前
布谷直播源码部署服务器关于数据库配置的详细说明
运维·服务器·数据库·直播系统源码·直播源码·直播系统搭建·直播软件开发
yanwushu4 分钟前
Xserver v1.4.2发布,支持自动重载 nginx 配置
mysql·nginx·php·个人开发·composer
易云码24 分钟前
信息安全建设方案,网络安全等保测评方案,等保技术解决方案,等保总体实施方案(Word原件)
数据库·物联网·安全·web安全·低代码
newxtc29 分钟前
【客观理性深入讨论国产中间件及数据库-科创基础软件】
数据库·中间件·国产数据库·国产中间件·科创
蓝眸少年CY30 分钟前
MySQL 【流程控制】函数
mysql
水月梦镜花31 分钟前
redis:list列表命令和内部编码
数据库·redis·list
MonkeyKing_sunyuhua1 小时前
ubuntu22.04 docker-compose安装postgresql数据库
数据库·docker·postgresql
天郁青1 小时前
数据库交互的本地项目:后台管理系统
数据库·交互
马剑威(威哥爱编程)1 小时前
MongoDB面试专题33道解析
数据库·mongodb·面试