select ename,hiredate from emp order by hiredate
***************************************************************************************************************
--1 找出每个月倒数第三天受雇的员工(如:2009-5-29)
select ename from emp where hiredate=last_day(hiredate)-2;
--2 找出 25 年前雇的员工
select ename, to_char(hiredate,'yyyy-mm-dd') from emp hiredate
select ename, to_char(hiredate,'yyyy-mm-dd') from emp where (to_char(sysdate,'yyyy')-to_char(hiredate,'yyyy')) >25;
--3 所有员工名字前加上 Dear ,并且名字首字母大写
select concat('Dear',initcap(ename)) from emp;
4 找出姓名为 5 个字母的员工
select ename from emp where length(ename)=5; -- ename like '_____';
5 找出姓名中不带 R 这个字母的员工
select ename from emp where ename not like '%R%';
6 显示所有员工的姓名的第一个字
select ename,substr(ename,0,1) from emp;
7 显示所有员工,按名字降序排列,若相同,则按工资升序排序
select ename from emp order by ename desc , sal asc;
8 假设一个月为 30 天,找出所有员工的日薪,不计小数
select ename,sal,round(sal/30,0) from emp;
9 找到 2 月份受雇的员工
select ename from emp where to_char(hiredate,'mm')='02';
10 列出员工加入公司的天数(四舍五入)
select ename,round(sysdate-hiredate) from emp;
11 分别用 case 和 decode 函数列出员工所在的部门,
deptno=10 显示'部门 10',
deptno=20 显示'部门 20'
deptno=30 显示'部门 30'
deptno=40 显示'部门 40'
否则为'其他部门'
select deptno,ename,sal,( case deptno when 10 then '部门 10' when 20 then '部门 20'
when 30 then '部门 30' when 40 then '部门 40' else '其他部门' end) dept from emp;
select deptno,ename,sal,decode(deptno,10,'部门 10',20,
'部门 20',30,'部门 30','其他部门') dept from emp;