Mysql表连接
当需要同时显示多个表中的字段时,就可以用表连接来实现这样的功能,从大类上来分,连接分为内连接和外连接
-
内连接
仅选出需要连接表中相互匹配的记录 -
外连接
会选出连接表中不匹配的记录外连接分为左连接和右连接:
左连接:包含所有左表中的记录,甚至是右表中没有和它匹配的记录
右连接:包含所有右表中的记录,甚至是左表中没有和它匹配的记录
以两个表来演示内连接和外连接
雇员表emp
部门表dept
内连接
需求:查询出雇员的名字和所在部门名称
select e.ename, d.deptname from emp as e, dept as d where e.deptno = d.deptno;
外连接
需求:
1、查询emp雇员表中所有的员工姓名和所在部门的名称,添加一条雇员记录,不指定部门名称
select ename, deptname from emp left join dept on emp.deptno = dept.deptno;
2、右连接