oracle限制查询第三章答案

第三章  限制数据查询

练习1

 • 1.查询职位为SALESMAN的员工编号、职位、入职日期。

 select empno,job,hiredate from emp where job ='SALESMAN';

• 2.查询1985年12月31日之前入职的员工姓名及入职日期。

--笔记:在填写日期的时候,需要格式: '日-某月-年份',例如:30-12月-1985 ,不添加月这个中文会报错。

select empno,hiredate from emp where hiredate < '31-12月-1985';

• 3.查询部门编号不在10部门的员工姓名、部门编号。

select empno,deptno from emp where deptno <> 10;

练习2

• 1.查询入职日期在82年至85年的员工姓名,入职日期。

select empno,hiredate from emp where hiredate between '1-1月-1982' and '31-12月-1985';

• 2.查询月薪在3000到5000的员工姓名,月薪。

select ename,sal from emp where sal between 3000 and 5000;

select ename,sal from emp where sal >=3000 and sal <=5000;

• 3.查询部门编号为10或者20的员工姓名,部门编号。

select ename,deptno from emp where deptno in (10,20);

select ename,deptno from emp where deptno =10 or deptno=20;

• 4.查询经理编号为7902 7566 7788 7902, 7566, 7788的员工姓名,经理编号。

select ename,mgr from emp where mgr in (7902,7566,7788,7902,7566,7788);

练习3

• 1.查询员工姓名以A开头的员工姓名。

--使用like关键字。

select ename from emp where ename like 'A_%';

• 2.查询员工姓名倒数第2个字符为T的员工姓名。

select ename from emp where ename like '%_T_';

• 3.查询奖金为空的员工姓名,奖金。

--判断是否为空,用Null

select ename,comm from emp where comm is null;

练习4

• 1.查询工资超过2000并且职位是MANAGER,或者职位是SALESMAN的员工姓名、职位、工资

select ename,job,sal from emp where sal >2000 and job='MANAGER';

• 2.查询工资超过2000并且职位是 MANAGER或SALESMAN的员工姓名、职位、工资。

select ename,job,sal from emp where sal >2000 and job='MANAGER' or job='SALESMAN';

• 3.查询部门在10或者20,并且工资在3000到5000之间的员工姓名 之间的员工姓名、部门、工资。

select ename,deptno,sal from emp where sal >2000 and sal <5000 and deptno in (10,20);

• 4.查询入职日期在81年,并且职位不是SALES开头的员工姓名、入职日期、职位。

select ename,hiredate,job from emp where job not like 'SALES_%'

and hiredate < '31-12月-81' and hiredate > '1-1月-81'  ;

• 5.查询职位为SALESMAN或MANAGER,部门编号为10或者20,姓名包含A的员工姓名、职位、部门编号。

select ename,job,deptno from emp where job ='SALESMAN' or job ='MANAGER'

and deptno in (10,20) and ename like 'A%';

练习5

• 1.查询部门在20或30的员工姓名,部门编号,并按照工资升序排序。

--笔记  升序按照  asc,降序使用 desc,默认是升序asc省略

select ename,deptno,sal from emp order by sal asc;

• 2.查询工资在2000-3000之间,部门不在10号的员工姓名,部门编号,工资,并按照部门升序 并按照部门升序,工资降序排序。

select ename,deptno,sal from emp order by deptno asc,sal desc;

• 3.查询入职日期在82年至83年之间,职位以SALES或者MAN开头的员工姓名,入职日期,职位,并按照入职日期降序排序。

select ename,hiredate,job from emp where hiredate between '1-1月-82' and '31-12月-83'

and job like  'MAN_%'  or job like 'SALES_%'

order by hiredate asc,sal desc;

猜你喜欢

转载自blog.csdn.net/GHHCNGC/article/details/81190184