Oracle数据库习题
以下习题都已Oracle数据库中默认表为主体
1、列出至少有一个员工的所有部门。
SELECT DISTINCT D.DNAME FROM EMP E,DEPT D WHERE E.DEPTNO=D.DEPTNO;
SELECT * FROM DEPT WHERE DEPTNO IN(SELECT DISTINCT DEPTNO FROM EMP);
SELECT DISTINCT D.DNAME FROM EMP E JOIN DEPT D USING(DEPTNO);
2、列出薪金比“SMITH”多的所有员工。(大于最大薪水SMITH员工)
SELECT ENAME FROM EMP WHERE SAL>(SELECT SAL FROM EMP WHERE ENAME ='SMITH');
3、列出所有员工的姓名及其直接上级的姓名。
SELECT E.ENAME,M.ENAME FROM EMP E,EMP M WHERE E.MGR=M.EMPNO;
SELECT E.ENAME,M.ENAME FROM EMP E JOIN EMP M ON(E.MGR=M.EMPNO);
4、列出受雇日期早于其直接上级的所有员工。
SELECT E.ENAME FROM EMP E,EMP M WHERE E.MGR=M.EMPNO AND E.HIREDATE<M.HIREDATE;
SELECT E.ENAME FROM EMP E JOIN EMP M ON(E.MGR=M.EMPNO AND E.HIREDATE<M.HIREDATE);
5、列出部门名称和这些部门的员工信息,包括那些没有员工的部门。
SELECT D.DNAME,E.ENAME FROM EMP E FULL OUTER JOIN DEPT D USING(DEPTNO);
6、列出所有job为“CLERK”(办事员)的姓名及其部门名称。
SELECT E.ENAME,D.DNAME FROM EMP E FULL OUTER JOIN DEPT D USING(DEPTNO) WHERE JOB='CLERK';
SELECT E.ENAME,D.DNAME FROM EMP E,DEPT D WHERE E.DEPTNO=D.DEPTNO AND JOB ='CLERK';
7、列出最低薪金大于1500的各种工作。
SELECT JOB,MIN(SAL) FROM EMP GROUP BY JOB HAVING MIN(SAL)>1500;
8、列出在部门“SALES”(销售部)工作的员工的姓名,假定不知道销售部的部门编号。
SELECT * FROM EMP E JOIN DEPT D USING (DEPTNO) WHERE D.DNAME='SALES';
9、列出薪金高于公司平均薪金的所有员工。
SELECT ENAME,SAL FROM EMP WHERE SAL>(SELECT AVG(SAL) FROM EMP);
10、列出与“SCOTT”从事相同工作的所有员工。
SELECT JOB FROM EMP WHERE ENAME='SOCTT';
SELECT ENAME FROM EMP WHERE ENAME<>'SCOTT'AND JOB=(SELECT JOB FROM EMP WHERE ENAME='SCOTT');
11、列出薪金等于部门30中员工的薪金的所有员工的姓名和薪金。
SELECT ENAME,SAL FROM EMP WHERE SAL IN (SELECT SAL FROM EMP WHERE DEPTNO=30)AND DEPTNO<>30;
12、列出薪金高于在部门30工作的所有员工的薪金的员工姓名和薪金。
SELECT ENAME,SAL FROM EMP WHERE SAL>ALL(SELECT SAL FROM EMP WHERE DEPTNO=30);
13、列出在每个部门工作的员工数量、平均工资和平均服务期限。
SELECT D.DNAME,COUNT(E.ENAME),AVG(SAL),AVG(MONTHS_BETWEEN(SYSDATE,HIREDATE)/12)FROM EMP E,DEPT D WHERE E.DEPTNO=D.DEPTNO GROUP BY D.DNAME;
14、列出所有员工的姓名、部门名称和工资。
SELECT E.ENAME,D.DNAME,SAL FROM EMP E,DEPT D WHERE E.DEPTNO=D.DEPTNO;
15、列出从事同一种工作但属于不同部门的员工的一种组合。
select distinct M.ename from emp e,emp m where e.job=m.job and e.deptno<>m.deptno;
16、列出所有部门的详细信息和部门人数。
SELECT d.DNAME,COUNT(E.ENAME) FROM EMP E ,DEPT D WHERE E.DEPTNO=D.DEPTNO GROUP BY D.DNAME;
17、列出各种工作的最低工资。
SELECT JOB,MIN(SAL) FROM EMP E,DEPT D WHERE E.DEPTNO=D.DEPTNO GROUP BY E.JOB;
SELECT JOB,MIN(SAL) FROM EMP E JOIN DEPT D ON(E.DEPTNO=D.DEPTNO) GROUP BY E.JOB;
18、列出各个部门的MANAGER(经理)的最低薪金(job为MANAGER)。
SELECT DEPTNO,MIN(SAL) FROM EMP WHERE JOB='MANAGER'GROUP BY DEPTNO;
19、列出所有员工的年工资,按年薪从低到高排序。
SELECT ENAME,(SAL*12+nvl(comm,0)*12)年薪 FROM EMP ORDER BY 年薪;
SELECT ENAME,(SAL*12+nvl(comm,0)*12)年薪 FROM EMP ORDER BY 1;
Oracle数据库习题的更多相关文章
- Oracle数据库——触发器的创建与应用
一.涉及内容 1.理解触发器的概念.作用和类型. 2.练习触发器的创建和使用. 二.具体操作 (实验) 1.利用触发器对在scott.emp表上执行的DML操作进行安全性检查,只有scott用户登录数 ...
- Oracle数据库——SQL高级查询
一.涉及内容 1.掌握SELECT语句的多表连接查询. 2.掌握SELECT语句的子查询. 二.具体操作 (一)根据Oracle数据库scott方案下的emp表和dept表,完成下列操作: 1.查询所 ...
- oracle数据库查询全系整理
oracle数据库方面的知识到今天已经整理了12篇.当然,这不是终点,这只是一个开始,希望我写的文章可以帮助更多初学数据库的童鞋快速上手,如果你觉得文章对你有帮助,那么恭喜你已经入门了,数据库里面的知 ...
- Oracle数据库 —— DML完结
时间:2016-8-18 01:17 ----------------------------------------------------------------------------停下休息的 ...
- 使用Zabbix监控Oracle数据库
Orabbix介绍 监控Oracle数据库我们需要安装第三方提供的Zabbix插件,我们先测试比较有名的Orabbix,http://www.smartmarmot.com/product/orabb ...
- Oracle 数据库知识汇总篇
Oracle 数据库知识汇总篇(更新中..) 1.安装部署篇 2.管理维护篇 3.数据迁移篇 4.故障处理篇 5.性能调优篇 6.SQL PL/SQL篇 7.考试认证篇 8.原理体系篇 9.架构设计篇 ...
- Oracle数据库该如何着手优化一个SQL
这是个终极问题,因为优化本身的复杂性实在是难以总结的,很多时候优化的方法并不是用到了什么高深莫测的技术,而只是一个思想意识层面的差异,而这些都很可能连带导致性能表现上的巨大差异. 所以有时候我们应该先 ...
- Oracle 数据库语句大全
Oracle数据库语句大全 ORACLE支持五种类型的完整性约束 NOT NULL (非空)--防止NULL值进入指定的列,在单列基础上定义,默认情况下,ORACLE允许在任何列中有NULL值. CH ...
- Oracle数据库升级(10.2.0.4->11.2.0.4)
环境: RHEL5.4 + Oracle 10.2.0.4 目的: 在本机将数据库升级到11.2.0.4 之前总结的Oracle数据库异机升级:http://www.cnblogs.com/jyzha ...
随机推荐
- CSS3的chapter3
CSS的常用样式分为几大类: 字体样式(font,color, text-decoration ,text-shadow) 元素样式(width,height,margin,padding,opaci ...
- 4 .Swift函数|闭包
在编程中,我们常把能完成某一特定功能的一组代码,并且带有名字标记类型叫做函数,在C语言中,我们知道函数名就是一个指针,它指向了函数体内代码区的第一行代码的地址,在swift中也具有同样的功效. 在Sw ...
- 不用安装Oracle_Client就能使用PLSQL_Developer
1. 下载oracle的客户端程序包(30M) 只需要在Oracle官方网站下载一个叫Instant Client Package的软件就可以了,这个软件不需要安装,只要解压就可以用了,很 ...
- python文件和目录操作方法大全(含实例)
一.python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法.1.得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd()2.返回指定目录下的所有文件和目 ...
- C#中调用Matlab人工神经网络算法实现手写数字识别
手写数字识别实现 设计技术参数:通过由数字构成的图像,自动实现几个不同数字的识别,设计识别方法,有较高的识别率 关键字:二值化 投影 矩阵 目标定位 Matlab 手写数字图像识别简介: 手写 ...
- HDU-4525 威威猫系列故事——吃鸡腿
题意:给定一个正整数A,告知等比数列的公比为q,为这个序列能否超过一个特定的数K. 解法:该题需要考虑公比的取值,当q=1,q=-1,q=0的特殊性,由于等比数列的增长速度非常快,所以可以for循环扫 ...
- 某篇ctr预估ppt的链接
csdn上面有一篇ppt,但是下载分太贵了.里面东西看起来讲的还可以.看看能不能嵌入. http://download.csdn.net/detail/u012289698/9371461 <i ...
- Python3.X新特性之print和exec
print print 现在是一个函数,不再是一个语句.<语法更为清晰> 实例1 打开文件 log.txt 以便进行写入并将对象指定给 fid.然后利用 print将一个字符串重定向给文件 ...
- 如何让IE8的菜单栏调到最上方
如何让IE8的菜单栏调到最上方 运行gpedit.msc,在"用户配置"/"管理模板"/"Windows Components"/" ...
- C#MongoDB使用实践
9.5更新:更方便的启动命令 1)在D:\MongoDB中新建mongo.config文件,内容为 #启动mongod:mongod.exe --bind_ip 127.0.0.1 --logpath ...