Oracle之SQL查询练习题(二)

          • 1、选择部门30中的所有员工
          • 2、列出所有办事员(CLERK)的姓名,编号和部门编号
          • 3、找出佣金高于薪金的员工
          • 4、显示不带有"R"的员工的姓名
          • 5、请查询表DEPT中所有部门的情况
          • 6、查询表DEPT中的部门号、部门名称两个字段的所有信息
          • 7、请从表EMP中查询10号部门工作的雇员姓名和工资
          • 8、选择部门30中的雇员
          • 9、查询表EMP中所有的工资大于等于2000的雇员姓名
          • 10、查询emp表中所有员工的信息,要求查询结果列名用中文显示
          • 11、查询工作是CLERK的员工信息
          • 12、查询名字中有R的员工信息
          • 13、查询有佣金大于100的员工信息(注佣金字段为COMM)
          • 14、查询10号和20号部门的员工信息
          • 15、请查询表DEPT中所有部门的情况
          • 16、查询表DEPT中的部门号、部门名称两个字段的所有信息
          • 17、请从表EMP中查询10号部门工作的雇员姓名和工资
          • 18、请从表EMP中查找工种是职员CLERK或经理MANAGER的雇员姓名、工资
          • 19、请在EMP表中查找部门号在10-30之间的雇员的姓名、部门号、工资
          • 20、请从表EMP中查找姓名以J开头所有雇员的姓名、工资、职位
          • 21、请从表EMP中查找工资低于2000的雇员的姓名、工作、工资,并按工资降序排列
          • 22、雇员中谁的工资最高
          • 23、选择部门30中的雇员
          • 24、列出所有办事员(job为CLERK)的姓名、编号和部门编号
          • 25、找出佣金高于薪金(comm)的雇员
          • 26、找出佣金高于薪金60%的雇员
          • 27、找出部门10中所有经理和部门20中的所有办事员的详细资料
          • 28、找出收取佣金的雇员的不同工作
          • 29、找出不收取佣金或收取的佣金低于100的雇员
          • 30、显示不带有'R'的雇员姓名
          • 31、显示雇员的详细资料,按姓名排序
          • 32、显示雇员姓名,根据其服务年限,将最老的雇员排在最前面
          • 33、显示所有雇员的姓名、工作和薪金,按工作的降序顺序排序,而工作相同时按薪金升序
          • 34、显示在一个月为30天的情况下所有雇员的日薪金
          • 35、查询至少有4个员工的部门的部门编号

1、选择部门30中的所有员工
select * from emp where deptno=30;
2、列出所有办事员(CLERK)的姓名,编号和部门编号
select ename,empno,deptno from emp where job='CLERK';
3、找出佣金高于薪金的员工
select * from emp where comm>sal;
4、显示不带有"R"的员工的姓名
select ename from emp where ename not like '%R%';
5、请查询表DEPT中所有部门的情况
select * from dept;
6、查询表DEPT中的部门号、部门名称两个字段的所有信息
select deptno,dname from dept;
7、请从表EMP中查询10号部门工作的雇员姓名和工资
select ename,sal from emp where deptno=10;
8、选择部门30中的雇员
select * from emp where deptno=30;
9、查询表EMP中所有的工资大于等于2000的雇员姓名
select ename from emp where sal>=2000;
10、查询emp表中所有员工的信息,要求查询结果列名用中文显示
select empno 员工编号,ename 姓名,job 岗位,mgr 领导编号,
hiredate 入职时间,sal 薪资,comm 佣金,deptno 部门编号 from emp;
11、查询工作是CLERK的员工信息
select * from emp where job='CLERK';
12、查询名字中有R的员工信息
select * from emp where ename like '%R%';
13、查询有佣金大于100的员工信息(注佣金字段为COMM)
select * from emp where comm>100;
14、查询10号和20号部门的员工信息
select * from emp where deptno=10 or deptno=20;
select * from emp where deptno in (10,20);
15、请查询表DEPT中所有部门的情况
select * from dept;
16、查询表DEPT中的部门号、部门名称两个字段的所有信息
select deptno,dname from dept;
17、请从表EMP中查询10号部门工作的雇员姓名和工资
select ename,sal from emp where deptno=10;
18、请从表EMP中查找工种是职员CLERK或经理MANAGER的雇员姓名、工资
select ename,sal from emp where job='CLERK' or job='MANAGER';
select ename,sal from emp where job in('CLERK','MANAGER');
19、请在EMP表中查找部门号在10-30之间的雇员的姓名、部门号、工资
select ename,deptno,sal,job from emp where deptno between 10 and 30;
20、请从表EMP中查找姓名以J开头所有雇员的姓名、工资、职位
select ename,sal,job from emp where ename like 'J%';
21、请从表EMP中查找工资低于2000的雇员的姓名、工作、工资,并按工资降序排列
select ename,job,sal from emp where sal<2000 order by sal desc;
22、雇员中谁的工资最高
select ename from emp where sal=(select max(sal) from emp);
23、选择部门30中的雇员
select * from emp where deptno=30;
24、列出所有办事员(job为CLERK)的姓名、编号和部门编号
select ename,empno,deptno from emp where job='CLERK';
25、找出佣金高于薪金(comm)的雇员
select * from emp where comm>sal;
26、找出佣金高于薪金60%的雇员
select * from emp where comm>0.6*sal;
27、找出部门10中所有经理和部门20中的所有办事员的详细资料
select * from emp where (job='MANAGER' and deptno=10) or (job='CLERK' and deptno=20); 
28、找出收取佣金的雇员的不同工作
select distinct job from emp where comm>0;
29、找出不收取佣金或收取的佣金低于100的雇员
select ename,job from emp where comm is null or comm<100;
30、显示不带有’R’的雇员姓名
select ename from emp where ename not like '%R%';
31、显示雇员的详细资料,按姓名排序
select * from emp order by ename asc;
32、显示雇员姓名,根据其服务年限,将最老的雇员排在最前面
select ename from emp order by hiredate asc;
33、显示所有雇员的姓名、工作和薪金,按工作的降序顺序排序,而工作相同时按薪金升序
select ename,job,sal from emp order by job desc,sal asc;
34、显示在一个月为30天的情况下所有雇员的日薪金
select ename,sal/30 日薪金 from emp;
35、查询至少有4个员工的部门的部门编号
select deptno from emp group by deptno having count(deptno)>=4;

你可能感兴趣的:(Oracle,oracle,sql,数据库)