这几题郁闷了
查询那些在其所在的部门中有一个或多个来的更晚但工资更高的同事的员工名、受雇日期及工资。
显示员工名并以*为指示符代表工资数额(列标题为EMPLOYEE_AND_THEIR_SALARIES),一个指示符代表一百美元,并以工资数额降序排列
创建一个缩进报告显示经理层次,从名字为 JONES的员工开始。显示雇员的名字、经理ID和部门ID。象例子输出显示的那样给出列的别名,对名字列设置宽度为20个字符。
NAME MGR_ID DEPT_ID
JONES 100 90
_Whalen 101 10
_Higgins 101 110
__Gietz 205 110
怎么解啊
[@more@]-------------华丽的分界限----------------------------
SQL> SELECT ENAME,HIREDATE,SAL FROM EMP E1
2 WHERE EXISTS(SELECT * FROM EMP E2
3 WHERE E1.DEPTNO=E2.DEPTNO AND E1.SAL
4 E1.HIREDATE
2
SQL> col EMPLOYEE_AND_THEIR_SALARIES FORMAT A40;
SQL> L
1 select empno,ename,rpad('*',trunc(sal/100),'*') as EMPLOYEE_AND_THEIR_SALAR
IES,sal
2 from emp
3* order by sal desc
SQL> /
3
1 SELECT LPAD(ename, LENGTH(ename)+(LEVEL*2) -2,'_') name,mgr manager_id,dept
no department_id
2 FROM emp
3 START WITH ename = 'JONES'
4* CONNECT BY PRIOR mgr = empno
4. 查询员工名、受雇日期、受雇当天是星期几(DAY)、员工的奖金(COMM)。如果该员工不能获得奖金,则以“No Commission”显示,并以DAY升序排列。
1 SELECT ENAME,HIREDATE,TO_CHAR(HIREDATE,'DAY') DAY,NVL(TO_CHAR(COMM),'NO COM
MISSION') COMM FROM EMP
2* ORDER BY DECODE(TO_CHAR(HIREDATE,'DAY'),'星期一',1,'星期二',2,'星期三',3,'
星期四',4,'星期五',5,'星期六',6,7)
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/24140674/viewspace-1034624/ ,如需转载,请注明出处,否则将追究法律责任。