1、内连接:等值连接、非等值连接、自连接
2、外连接:左连接、右连接
理解MySQL什么时候该使用内连接、什么时候该使用外连接?
(本文例子,来自动力节点)
1、内连接:显示薪水大于2000的员工信息,并显示所属的部门名称
select
e.ename,e.sal,d.dname
from
emp e join dept d
on
e.deptno = d.deptno #在建立连接时,一定要写上两表的关联条件
where
e.sal > 2000; # 其实两表通过上面的条件连接,已经建立的一个更大一点表,现在提出挑选条件
2、外连接(右连接):显示员工信息,并显示所属的部门名称,如果某一个部门没有员工,那么该部门也必须显示出来
select
e.ename,d.deptno
from
emp e right join dept d #右连接
on
e.deptno = d.deptno;
3、外连接(左连接):显示员工信息,并显示所属的部门名称,如果某一个部门没有员工,那么该部门也必须显示出来
select
e.ename,d.deptno
from
dept d left join emp e #左连接
on
e.deptno = d.deptno;
4、总结:
a) 内连接:将两表中相关联的记录,按照关联条件连接起来;
b) 左连接:以左边的表为基准,和右边的表连接,将左表中没有和右表产生关联的记录也显示出来;
c) 右连接:以右边的表为基准,和左边的表连接,将右表中没有和左表产生关联的记录也显示出来。
使用数据库下载:https://download.csdn.net/my