欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Mysql day02_外连接

程序员文章站 2022-05-09 09:04:05
...

外连接

左外连接 右外连接

查询所有雇员姓名,部门编号,部门名称

SELECT e.deptno,d.dname,e.ename
FROM emp e,dept d
WHERE e.deptno=d.deptno;

Mysql day02_外连接
FROM emp,dept emp是左表 dept是右表
FROM dept,emp dept是左表 emp是右表
左右可以相互转换

练习:查询所有雇员姓名,部门编号,部门名称
(没有员工的部门部门,也要显示(部门表是主表))

SELECT d.deptno,d.dname,e.ename
-- from中的逗号改成left join(right join)
-- 把连接条件改为on 其他条件还可以放 where
FROM dept d LEFT JOIN emp e
ON e.deptno=d.deptno;

Mysql day02_外连接
练习:1)练习刚才的左连接
2)把左连接改成右连接

SELECT d.deptno,d.dname,e.ename
FROM emp e RIGHT JOIN dept d
ON e.deptno=d.deptno;

Mysql day02_外连接
练习:显示 员工KING和FORD 管理的员工姓名,及其KING和FORD的经理姓名
及两个人的信息 没有经理也要显示

以m为主

SELECT e.empno 下属,e.ename 下属,
m.empno 我的,m.ename 我的,
b.empno 经理,b.ename 经理
FROM emp e RIGHT JOIN emp m ON e.mgr=m.empno
LEFT JOIN emp b ON m.mgr=b.empno
WHERE m.ename='KING' OR m.ename='FORD';

Mysql day02_外连接