Oracle练习题-2(忽略文中的scott.)

1.创建一个查询,来显示雇员的名字和工资,其工资要在2850以上

select ename,sal from scott.emp where sal>2850;

2. 将题1查询条件改为:工资(sal)在1500和2850之间。

select ename,sal from scott.emp where sal between 1500 and 2850;

3.查询出雇员表中部门号为10和30的所有员工的姓名、工作、雇佣日期信息,要求按照雇佣日期的降序进行排序。

select ename,job,hiredate from scott.emp where deptno in(10,30) order by hiredate desc;

    desc:降序;数据库默认升序:asc

4.查询出姓名中第三个字母为:“A”的所有员工的姓名。(_代表任意一个字符,% 任意个字符)

select ename from scott.emp where ename like '__A%';

5.查出佣金比工资多出10%的员工的姓名。

select ename[,comm,sal,sal*1.1] from scott.emp where nvl(comm,0)>sal*1.1;

        nvl(a,b)--->空值处理,a为空,返回b,否则返回a。

6.找出工作超过3500天的员工的姓名、工号、其工作天数和工资,并按工资降序输出,若工资相同,则按工作天数升序,若工作天数也一样,则按员工工号降序输出。

select ename,empno,sysdate-hiredate,sal from scott.emp where sysdate-hiredate>3500 order by sal desc,sysdate-hiredate asc,empno desc;

7.显示员工的姓名和受雇日期,根据其服务年限,将最老的员工排在最前面?

select ename,empno,sysdate-hiredate,sal from scott.emp where sysdate-hiredate>3500 order by sal desc,sysdate-hiredate asc,empno desc;

8.查询列出来公司就职时间超过35年的员工名单

select ename,hiredate from scott.emp where (sysdate-hiredate)/365>35;


9.查询于81年来公司的每个员工的年收入(SAL和COMM)

select ename,sal*12+nvl(comm,0)*12 from scott.emp where to_char(hiredate,'yyyy')>='1981';

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值