写点什么

MySQL 基础之七:内连接详解

用户头像
打工人!
关注
发布于: 2021 年 06 月 09 日
MySQL基础之七:内连接详解

主要内容:

本篇内容主要讲解内连接,从具体案例进行体会。

内连接之等值连接:

最大特点:等值连接的最大特点:连接条件是等量关系

案例:找出每一个员工的所属部门,并且显示员工名和对应的部门

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


on 后面是等值连接条件,从结果可以看到,是 14 条结果,并没有出现笛卡尔乘积现象,这是因为加了连接条件。

内连接之非等值连接:

最大特点:当然是连接条件不是等量关系

先来看这个工资等级表:

+-------+-------+-------+

| GRADE | LOSAL | HISAL |

+-------+-------+-------+

| 1 | 700 | 1200 |

| 2 | 1201 | 1400 |

| 3 | 1401 | 2000 |

| 4 | 2001 | 3000 |

| 5 | 3001 | 9999 |

+-------+-------+-------+

这个等级表是在第二篇博客中创建的,有完整的建表语句,地址:https://xie.infoq.cn/article/db105d90dcb999ed0f34eceb5

案例:找出每个员工的工资等级,要求显示员工名字、薪资和工资等级

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


内连接之自连接:

最大特点:自连接顾名思义就是自己和自己连接呗。

案例:找出每个员工的上级领导,要求显示员工名和对应的领导名。

select e.ename as '员工名',e1.ename as '领导名' from emp e join emp e1 on e.mgr=e1.empno;
复制代码


总结:

内连接的知识点基本上就讲完了,但是要想熟练掌握还要多做练习。

发布于: 2021 年 06 月 09 日阅读数: 8
用户头像

打工人!

关注

打工人! 2019.11.10 加入

InfoQ年度最佳内容获得者。 InfoQ签约作者 本人打工人一枚,自动化和控制专业入坑人一枚。目前在研究深度强化学习(DRL)技术。准备入坑互联网小白一枚。喜欢了解科技前沿技术,喜欢拍照。

评论

发布
暂无评论
MySQL基础之七:内连接详解