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;
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;
练习:1)练习刚才的左连接
2)把左连接改成右连接
SELECT d.deptno,d.dname,e.ename
FROM emp e RIGHT JOIN dept d
ON e.deptno=d.deptno;
练习:显示 员工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';
上一篇: php简单去除大型文本重复_PHP教程