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;
相关推荐
少陽君9 分钟前
Python 并发编程:IO 等待用线程/asyncio,CPU 计算才用进程
数据库·python·php
这个DBA有点耶24 分钟前
VLDB 2026核心议题解读:当负载被AI改写,数据库的内核该往哪走?
数据库·架构·aigc
敲代码的嘎仔1 小时前
自己设计了一个兑换码算法:自增ID + Base32转码 + 按位加权签名 + 异或混淆,面试被追问细节时终于不用慌了
java·数据库·mysql·算法·微服务·面试·职场和发展
shirsl1 小时前
数据开发实时项目问题整理
数据库·sql·big data
bbq粉刷匠2 小时前
数据库设计实践
数据库
java_logo2 小时前
Docker 部署 ClickHouse Server:轻松搭建列式 OLAP 分析数据库平台
数据库·clickhouse·docker·私有化部署·olap·列式数据库·轩辕镜像
盛世宏博智慧档案2 小时前
高速 ETC 门架外场机房温湿度远程监测解决方案
服务器·数据库·php·高度·高速·温湿度
—Miss. Z—2 小时前
计算机三级数据库技术—应用题2️⃣
数据库·mysql
PrudentWoo2 小时前
PostgreSQL 12 登录失败:role “postgres“ is not permitted to log in 的排查与修复
数据库·postgresql
这个DBA有点耶2 小时前
临时表从4.7秒到0.12秒:不是所有Using temporary都需要优化
数据库·mysql·代码规范