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';