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;
相关推荐
Geek之路2 分钟前
Qt系统学习篇(6)-QMainWindow
数据库·qt·学习
wclass-zhengge16 分钟前
Redis篇(Redis原理 - 网络模型)
网络·数据库·redis
周周写不完的代码24 分钟前
redis-数据类型
数据库·redis·缓存
shylyly_1 小时前
Linux的基本指令(3)
数据库·mysql·linux的基本指令
2402_857583491 小时前
新闻推荐系统:Spring Boot的架构优势
数据库·spring boot·架构
Data 3171 小时前
Hive数仓操作(三)
大数据·数据库·数据仓库·hive·hadoop
斯凯利.瑞恩1 小时前
大数据分析入门概述
大数据·linux·数据库·sql·hdfs·bi
栀夏6132 小时前
MongoDB 用户管理
数据库
全职计算机毕业设计2 小时前
基于协同过滤的网络文学智能推荐平台的设计与实现(小说)springboot mysql Redis Thymeleaf
spring boot·后端·mysql
原机小子2 小时前
大学生就业桥梁:基于Spring Boot的招聘系统
服务器·数据库·spring boot