请使用EMP表和DEPT表完成下面作业
01. 列出部门名称和这些部门的员工信息,同时列出那些没有员工的部门。
02. 列出所有CLERK(办事员)的部门名称,部门人数。
03. 选择所有有奖金comm的员工的ename , dname , loc。
04. 选择在工作地点DALLAS工作的员工的ename , job , deptno, dname。
05. 选择所有员工的姓名ename,员工号empno,以及他的管理者mgr的姓名ename和员工号empno
06. 显示:员工编号,员工名称,经理编号,经理名称,员工所在部门编号,
员工所在部门名称,经理所在部门编号,经理所在部门名称。
07. 查询名字是S开头的员工姓名,员工号,部门号,部门地理位置
08. 查询员工姓名,部门名称,工资,工资等级
09. 查询工作在Newyork 的所有员工
–请使用EMP表和DEPT表完成下面作业
–01. 列出部门名称和这些部门的员工信息,同时列出那些没有员工的部门。
SELECT d.*,e.*
FROM emp e RIGHT JOIN dept d
ON e.deptno = d.deptno
–02. 列出所有CLERK(办事员)的部门名称,部门人数。
SELECT dname,empno
FROM emp e INNER JOIN dept d
ON e.deptno = d.deptno
WHERE e.job = ‘CLERK’
GROUP BY dname
1 ACCOUNTING 1
2 RESEARCH 2
3 SALES 1
–03. 选择所有有奖金comm的员工的ename , dname , loc。
SELECT ename,dname,loc,comm
FROM emp e INNER JOIN dept d
ON e.deptno = d.deptno
WHERE comm IS NOT NULL
–04. 选择在工作地点DALLAS工作的员工的ename , job , deptno, dname。
SELECT ename,dname,job,e.deptno,loc
FROM emp e INNER JOIN dept d
ON e.deptno = d.deptno
WHERE loc = ‘DALLAS’
–05. 选择所有员工的姓名ename,员工号empno,
— 以及他的管理者mgr的姓名ename和员工号empno
SELECT e.empno,e.ename,m.empno,m.ename
FROM emp e INNER JOIN emp m
ON e.mgr = m.empno
–06. 显示:员工编号,员工名称,经理编号,经理名称,员工所在部门编号,
— 员工所在部门名称,经理所在部门编号,经理所在部门名称。
SELECT e.empno,e.ename,d.deptno,d.dname,
m.empno,m.ename,d2.deptno,d2.dname
FROM emp e INNER JOIN emp m ON e.mgr = m.empno
INNER JOIN dept d ON e.deptno = d.deptno
INNER JOIN dept d2 ON m.deptno = d2.deptno
–07. 查询名字是S开头的员工姓名,员工号,部门号,部门地理位置
SELECT ename,dname,job,e.deptno,loc
FROM emp e INNER JOIN dept d
ON e.deptno = d.deptno
WHERE ename LIKE ‘S%’
–08. 查询员工姓名,部门名称,工资,工资等级
SELECT ename,dname,sal,s.grade
FROM emp e INNER JOIN dept d ON e.deptno = d.deptno
INNER JOIN salgrade s ON e.sal BETWEEN s.losal AND s.hisal
–09. 查询工作在Newyork 的所有员工
SELECT ename,dname,sal,loc
FROM emp e INNER JOIN dept d ON e.deptno = d.deptno
WHERE loc = ‘NEW YORK’
SELECT * FROM dept;