Oracle基础练习题及答案(基本查询)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

O r a c l e基础练习题及答案(基本查询)

-CAL-FENGHAI.-(YICAI)-Company One1

练习题

使用SQL PLUS工具登陆,用户名用scott。

1.1 在emp表中查询出所有记录的姓名、部门编号、薪水,并且列名要显示为中

文。

select empno"员工编号",ename"员工姓名",job"职位",mgr"上级领导",hiredate"入职日期",sal"薪资",comm"奖金",deptno"部门编号" from emp;

1.2 在emp表中查询出薪水大于1500的记录,并且按照薪水的降序排列。

select * from emp where sal>1500order by sal desc;

1.3 在emp表中查询出comm字段为空值的记录。

select * from emp where comm is null;

1.4 查询出emp表中含有几个部门的记录。(用DISTINCT去除重复记录)

select distinct deptno from emp;

1.5 在emp表中查询出部门编号为10或20的记录(要求使用IN关键字)

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

1.6 在emp表中查询出姓名的第二个字母为A的记录。

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

1.7 查询出emp表中总共有多少条记录。

select count(*) from emp;

1.8 查询emp表中出每个部门的部门代码、薪水之和、平均薪水。

select deptno,sum(sal),avg(sal) from emp group by deptno;

使用scott用户登录,利用原有的四张表完成如下作业

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.找出佣金高于薪金30%的所有员工

select * from emp where comm>(sal*;

5.找出部门10中所有经理(MANAGER)和部门20中所有办事员(CLERK)

的详细资料

select* from emp where(deptno=10and job='MANAGER')or(deptno=20and job='CLERK');

6.找出部门10中所有经理(MANAGER),部门20 中所有办事员(CLERK),

既不是经理又不是办事员(CLERK)但其薪金大于或等于2000的所有员工的详细资料。

select * from emp where (deptno=10and job='MANAGER')or(deptno=20and

job='CLERK')or(job!='CLERK'and job!='MANAGER'and sal>=2000);

7.找出收取佣金的员工的不同的工作

select distinct job from emp where (comm is not null)and(comm>0);

8.找出不收取佣金或收取佣金少于100的员工

select * from emp where comm is null or comm<100;

9.显示姓名不带有R的员工的姓名

select * from emp where ename not like'%R%';

10.显示员工的详细资料,按姓名排序

select * from emp order by ename;

11.显示员工的姓名和受雇日期,根据服务年限,将最老的员工排在最前面select ename,hiredate from emp order by hiredate;

12.显示所有员工的姓名,工作和薪金,按工作降序排序,若工作相同则按薪

金排序

select ename,job,sal from emp order by job desc,sal desc;

13 显示姓名字段的任何位置包含A的所有员工的姓名

select * from emp where ename like'%A%';

相关文档
最新文档