Oracle基础练习题及答案(基本查询)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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%';