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;
相关推荐
qq_392397121 小时前
Redis常用操作
数据库·redis·wpf
A__tao2 小时前
一键将 SQL 转为 Java 实体类,全面支持 MySQL / PostgreSQL / Oracle!
java·sql·mysql
一只fish3 小时前
MySQL 8.0 OCP 1Z0-908 题目解析(17)
数据库·mysql
花好月圆春祺夏安3 小时前
基于odoo17的设计模式详解---装饰模式
数据库·python·设计模式
A__tao3 小时前
SQL 转 Java 实体类工具
java·数据库·sql
m0_653031363 小时前
腾讯云认证考试报名 - TDSQL数据库交付运维专家(TCCE PostgreSQL版)
运维·数据库·腾讯云
叁沐4 小时前
MySQL 06 全局锁和表锁:给表加个字段怎么有这么多阻碍?
mysql
小马哥编程4 小时前
【iSAQB软件架构】架构决策记录-ADR
数据库·架构·系统架构·设计规范
萧鼎4 小时前
深度探索 Py2neo:用 Python 玩转图数据库 Neo4j
数据库·python·neo4j
m0_653031365 小时前
腾讯云认证考试报名 - TDSQL数据库交付运维专家(TCCE MySQL版)
运维·数据库·腾讯云