1 找出傭金高於薪金60%的僱員。 SELECT * FROM emp WHERE comm > (sal * 0.6);2 找出部門10中所有經理和部門20中所有辦事員的詳細資料。 SELECT * FROM emp WHERE (deptno = 10 AND job = 'MANAGER') OR (deptno = 20 AND job = 'CLERK');3 找出部門10中所有經理,部門20中所有辦事員以及既不是經理又不是辦事員但其薪金大於或等2000的所有僱員的詳細資料。 SELECT * FROM emp WHERE (deptno = 10 AND job = 'MANAGER') OR (deptno = 20 AND job = 'CLERK' OR (sal > 2000 AND job NOT IN ('MANAGER','CLERK')));4 找出收取傭金的僱員的不同工作。 SELECT DISTINCT job FROM emp WHERE comm IS NOT NULL;5 找出不收取傭金或收取的傭金低於300的僱員。 SELECT * FROM emp WHERE comm IS NULL OR comm < 300;6 找出各月最後一天受雇的所有僱員。 SELECT * FROM emp WHERE LAST_DAY(hiredate) = hiredate;7 找出晚於26年之前受雇的僱員。 SELECT * FROM emp WHERE SYSDATE > ADD_MONTHS(hiredate,26 * 12) ;8 顯示只有首字母大寫的的所有僱員的姓名。 SELECT INITCAP(ename) FROM emp;9 顯示正好為5個字元的僱員的姓名。 SELECT * FROM emp WHERE LENGTH(ename) = 5;10顯示不帶有“R”的僱員姓名。 SELECT * FROM emp WHERE ename NOT LIKE '%R%';11顯示所有僱員的姓名的前三個字元。 SELECT SUBSTR(ename,0,3) FROM emp;12顯所有僱員的姓名,用a替換所有“A”。 SELECT REPLACE(ename,'A','a') FROM emp;13顯示所有僱員的姓名以及滿10年服務年限的日期。 SELECT ename,ADD_MONTHS(hiredate,12 * 10) FROM emp;14顯示僱員的詳細資料,按姓名排序。 SELECT * FROM emp ORDER BY ename;15顯示僱員姓名,根據其服務年限,將最老的僱員排在最前面。 SELECT * FROM emp ORDER BY hiredate ASC;16顯示所有僱員的姓名、工作和薪金,按工作的降序排序,而工作按薪金排序。 SELECT ename,job,sal FROM emp ORDER BY job DESC,sal DESC; 17顯示所有僱員的姓名和加入公司的年份和月份,按僱員受雇日所在月排序,並將最早年份的項目排在最前面。 SELECT ename,TO_CHAR(hiredate,'yyyy-mm') FROM emp ORDER BY TO_CHAR(hiredate,'mm') ASC ,TO_CHAR(hiredate,'yyyy') ASC;18顯示在一個月為30天的情況下所有僱員的日薪金,取整。 SELECT ROUND(sal / 30,0) FROM emp;19找出在(任何年份的)2月受聘的所有僱員。 SELECT * FROM emp WHERE TO_CHAR(hiredate,'mm') = 2;20對於每個僱員,顯示其加入公司的天數。 SELECT CEIL(sysdate-hiredate) FROM emp;21.找出所有的普通員工:select * from emp where empno not in(select mgr from emp where mgr is not null)22.求部門中哪些人的薪水最高:Select ename,sal from emp join (select max(sal) max_sal,deptno from emp group by deptno) t on (emp.sal = t.max_sal and emp.deptno= t.deptno);23.求部門平均薪水的等級:Select deptno,avg_sal,grade from (select deptno,avg(sal) avg_sal from emp group by deptno) t join salgrade s on (t.avg_sal between s.losal and s.hisal);24.求部門平均的薪水等級Select deptno,avg(grade) from (select deptno,ename,grade from emp join salgrade s on (emp.sal between s.losal and s.hisal)) t group by deptno;25.僱員中哪些人是經理人:Select ename from emp where empno in (select distinct mgr from emp);26.不準用組函數,求薪水的最高值Select distinct sal from emp where sal not in (select distinct e1.sal from emp e1 join emp e2 on(e1.sal < e2.sal));27.求平均薪水最高的部門的部門編號Select deptno,avg_sal from (select avg(sal) avg_sal,deptno from emp group by deptno) where avg_sal = (select max(avg_sal) from (select avg(sal) avg_sal,deptno from emp group by deptno));28.求平均薪水最高的部門的部門名字select dname from dept wheredeptno=(Select deptno from (select avg(sal) avg_sal,deptno from emp group by deptno) where avg_sal = (select max(avg_sal) from (select avg(sal) avg_sal,deptno from emp group by deptno)))29.求比普通員工的最高薪水還要高的經理人名稱Select ename from emp where empno in (select distinct mgr from emp where mgr is not null) and sal >(select max(sal) from emp where empno not in(select distinct mgr from emp where mgr is not null));