Oracle练习题(三)
说明:以下查询以scott模式下emp表和dept表为操作对象
(1) 查询一个月前入职的员工
select * from emp where months_between(sysdate,hiredate) > 1;
(2) 显示在一个月为30天的情况所有员工的日薪,忽略余数
select ename,trunc(sal/30) “日薪” from emp;
(3) 显示员工在此公司工作了几个月(要求结果是整数)
select round(months_between(sysdate,hiredate)) from emp;
(4) 显示所有12月份入职的员工
select * from emp where to_char(hiredate,‘MM’) = ‘12’;
(5) 显示员工的年薪(12个月的工资+补贴)
select sal*12+nvl(comm,0) “年薪” from emp;
(6) 显示所有员工的姓名、加入公司的年份和月份,并且按照年份排序
select ename,to_char(hiredate,‘YYYY’) “年份”,to_char(hiredate,‘MM’) “月份” from emp order by 年份 desc;
(7) 显示每月倒数第3天入职的所有员工
select * from emp where to_char(hiredate,‘DD’)= to_char(last_day(hiredate)-2,‘DD’);
(8) 显示入职满10年的员工的姓名和受雇日期。
select ename,hiredate from emp where to_char(sysdate,‘yyyy’)-to_char(hiredate,‘yyyy’) > 10;
 或者
 select ename,hiredate from emp where trunc(months_between(sysdate,hiredate)/12) > 10;
 
                    
                     
                    
                 
                    
                 
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号