1. 找出各月倒数第3 天受雇的所有员工
select ename from emp where last_day(hiredate)-2=hiredate; 2. 找出早于12 年前受雇的员工
select ename from emp where months_between(sysdate,hiredate)>=144; 3. 以首字母大写的方式显示所有员工的姓名 select initcap(ename) from emp;
4. 显示正好为5 个字符的员工的姓名
select ename from emp where length(ename)=5; 5. 显示不带有“R”的员工姓名
select ename from emp where instr(ename,'R',1,1) =0; 6. 显示所有员工姓名的前三个字符 select substr(ename,1,3) from emp;
7. 显示所有员工的姓名,用“a”替换所有的“A” select ename,replace(ename,'A','a') from emp;
8. 显示满10 年服务年限的员工的姓名和受雇日期
select ename,hiredate from emp where months_between(sysdate,hiredate)>=120; 9. 显示员工的详细资料,按姓名排序 select * from emp order by ename desc;
10. 显示员工的姓名和受雇日期,根据其服务年限,将最老的员工排在最前面 select ename,hiredate from emp order by hiredate;
11. 显示所有员工的姓名、工作和薪金,按照工作的降序排序,若工作相同则按薪金排序 select ename,job,sal from emp order by job desc, sal;
12. 显示所有员工的姓名、加入公司的年份和月份,按受雇日期所在月排序,若月份相同则将最早年份的员工排在最前面
select ename, to_char(hiredate,'yyyy') h, to_char(hiredate,'mm') m from emp order by m,h; 13. 显示在一个月为30 天的情况所有员工的日薪金,忽略余数 select trunc(sal/30) from emp;
14. 找出在(任何年份的)2 月受聘的所有员工 select ename from emp where to_char(hiredate,'mm')=2; 15. 对于每个员工显示其加入公司的天数 select ename, sysdate-hiredate from emp;
16. 显示姓名字段的任何位置包含“A”的所有员工姓名 select ename from emp where instr(ename,'A',1,1) <>0; select ename from emp where ename like '%A%';