永发信息网

这几道oracl题目怎么做??

答案:3  悬赏:50  手机版
解决时间 2021-01-01 20:58
  • 提问者网友:嗝是迷路的屁
  • 2021-01-01 15:27
对Oracle数据库基本表EMP和DEPT
1、列出所有员工的姓名及其直接上级的姓名。
2、列出受雇日期早于其直接上级的所有员工。
3、列出部门名称和这些部门的员工信息,同时列出那些没有员工的部门。
4、列出所有“CLERK”(办事员)的姓名及其部门名称。
5、建立一个视图myV_emp,视图包括EMP表的empno、ename、sal,并按sal从大到小排列。
6、在EMP表中建立ename的唯一性索引。
7、建立一个视图V_mgr_name,查询列出各部门的部门名和部门经理名字。
8、建立一个视图V_sal_dept,查询部门平均工资最高的部门名称和最低的部门名称。

请问~~这几道题目怎么做???
谢谢!!
最佳答案
  • 五星知识达人网友:琴狂剑也妄
  • 2021-01-01 16:51
1、列出所有员工的姓名及其直接上级的姓名。
SELECt a.ename, b.ename AS mgr
FROM EMP a LEFT JOIN
EMP b ON a.mgr = b.empno
2、列出受雇日期早于其直接上级的所有员工。
SELECt a.ename
FROM EMP a INNER JOIN
EMP b ON a.mgr = b.empno AND a.hiredate < b.hiredate
3、列出部门名称和这些部门的员工信息,同时列出那些没有员工的部门。
SELECt a.dname, b.*
FROM DEPT a LEFT OUTER JOIN
EMP b ON a.deptno = b.deptno
4、列出所有“CLERK”(办事员)的姓名及其部门名称。
SELECt a.ename, b.dname
FROM EMP a INNER JOIN
DEPT b ON a.deptno = b.deptno
WHERe (a.job = 'CLERK')
5、建立一个视图myV_emp,视图包括EMP表的empno、ename、sal,并按sal从大到小排列。
CREATE VIEW myV_emp
AS
SELECt empno,ename,sal FROM EMP
ORDER BY sal DESC
6、在EMP表中建立ename的唯一性索引。
CREATE UNIQUE INDEX idx_emp_ename
ON EMP(ename)
7、建立一个视图V_mgr_name,查询列出各部门的部门名和部门经理名字。
CREATE VIEW V_mgr_name AS SELECt DISTINCT b.dname, a.ename
FROM EMP a, DEPT b, emp c
WHERe a.deptno = b.deptno AND a.job = 'MANAGER'
8、建立一个视图V_sal_dept,查询部门平均工资最高的部门名称和最低的部门名称。
CREATE VIEW V_sal_dept AS SELECt *
FROM (SELECt b.dname, ROUND(AVG(sal), 2) salary
FROM EMP a, DEPT b
WHERe a.deptno = b.deptno
GROUP BY b.dname) c
WHERe c.salary =
(SELECt MAX(ROUND(AVG(sal), 2)) salary
FROM EMP a, DEPT b
WHERe a.deptno = b.deptno
GROUP BY b.dname) OR
c.salary =
(SELECt MIN(ROUND(AVG(sal), 2)) salary
FROM EMP a, DEPT b
WHERe a.deptno = b.deptno
GROUP BY b.dname)
希望对你有所帮助!
全部回答
  • 1楼网友:猎心人
  • 2021-01-01 18:38
晕;看不懂!能不能把你要的结果贴出来!楼下接
  • 2楼网友:轮獄道
  • 2021-01-01 17:32
1 select a.ename,b.ename mgr from emp a left join emp b on a.mgr=b.empno 2 select a.ename from emp a inner join emp b on a.mgr=b.empno and a.hiredate
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯