首页 电脑教程 电脑知识 练习ORACLE数据库的题目

练习ORACLE数据库的题目

Jan 23, 2024 pm 09:48 PM
oracle题目

练习ORACLE数据库的题目

练习ORACLE数据库的题目

使用scott/tiger用户下的emp表完成下列练习,表的结构说明如下

emp员工表 字段内容如下:

empno 员工号

ename 员工姓名

job 工作

mgr 上级编号

hiredate 受雇日期

sal 薪金

comm 佣金

deptno 部门编号

1.选择部门30中的所有员工.

2.列出所有办事员(CLERK)的姓名,编号和部门编号.

3.找出佣金高于薪金的员工.

4.找出佣金高于薪金的60%的员工.

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

6.找出部门10中所有经理(MANAGER),部门20中所有办事员(CLERK),既不是经理又不是办事员但其薪金大于或等于2000的所有员工的详细资料.

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

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

9.找出各月倒数第3天受雇的所有员工.

10.找出早于12年前受雇的员工.

11.以首字母大写的方式显示所有员工的姓名.

12.显示正好为5个字符的员工的姓名.

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

14.显示所有员工姓名的前三个字符.

15.显示所有员工的姓名,用a替换所有"A"

16.显示满10年服务年限的员工的姓名和受雇日期.

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

18.显示员工的姓名和受雇日期,根据其服务年限,将最老的员工排在最前面.

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

20.显示所有员工的姓名、加入公司的年份和月份,按受雇日期所在月排序,若月份相同则将最早年份的员工排在最前面.

21.显示在一个月为30天的情况所有员工的日薪金,忽略余数.

22.找出在(任何年份的)2月受聘的所有员工。

23.对于每个员工,显示其加入公司的天数.

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

25.以年月日的方式显示所有员工的服务年限. (大概)

oracle题目

(1) select deptno from dept where depptno in (select deptno from em);

(2)select empno,ename,sal from em where sal>(select sal from em where ename = 'SMITH');

(3)SELECT e.ename,d.dname from em e,dept d where e.deptno=d.deptno and e.job = 'CLERK';

(4)select empno,ename from em where job in (select job from em where ename = 'SCOTT') ;

(5)select job,min(sal) from em group by job;

(6)select d.dname ,min(e.sal) from dept d,em e

where d.deptno=e.deptno and e.job ='MANAGER' group by d.dname;

Oracle 11G SQL练习作业题

7.select 员工名,工资 from 表 where 工资8.select 员工名,工资 from 表 where 工资>avg(工资) order by 职位;

9.例:t1中列n的数为[2,3];t2中列n的数为[1,2,3,4]

select * from t2 where n >any(select n from t1);结果:3,4.

注:查询表t2中列n的数中有哪些数是比表t1中列n的最大的数[包含max的]。

select * from t2 where n = any(select n from t1);结果:2,3.

select * from t2 where n 10.select * from t2 where n >all(select n from t1);结果:4.

select * from t2 where n 12.SELECT column_name(s) FROM table_name1 UNION SELECT column_name(s) FROM table_name2;合并table_name1、table_name2两个表,没有重复的列。

SELECT column_name(s) FROM table_name1 UNION ALL SELECT column_name(s) FROM table_name2;将table_name1、table_name2两个表的所有数据连接,有重复的。

一道oracle存储过程的题目解

CREATE TABLE SC(

SNO INT,

CNO varchar(10),

GRADE INT

);

INSERT INTO SC VALUES(95001, '数学', 75);

INSERT INTO SC VALUES(95001, '语文', 92);

INSERT INTO SC VALUES(95002, '英语', 64);

INSERT INTO SC VALUES(95002, '英语', 77);

INSERT INTO SC VALUES(95003, '数学', 85);

CREATE TABLE SC_TOTAL(

SNO INT PRIMARY KEY,

"数学" number(5,2),

"语文" number(5,2),

"英语" number(5,2),

"平均分" number(5,2)

);

DECLARE

v_row_count INT;

BEGIN

FOR sc_rec IN (SELECT * FROM SC)

LOOP

-- 判断数据有没有

SELECT COUNT(*) INTO v_row_count

FROM SC_TOTAL

WHERE SNO = sc_rec.SNO;

IF v_row_count = 0 THEN

-- 数据不存在. 先插入.

INSERT INTO SC_TOTAL(SNO) VALUES (sc_rec.SNO);

END IF;

-- 根据课程, 更新 具体的列.

IF sc_rec.CNO = '数学' THEN

UPDATE SC_TOTAL SET "数学" = sc_rec.GRADE WHERE SNO = sc_rec.SNO;

ELSIF sc_rec.CNO = '语文' THEN

UPDATE SC_TOTAL SET "语文" = sc_rec.GRADE WHERE SNO = sc_rec.SNO;

ELSIF sc_rec.CNO = '英语' THEN

UPDATE SC_TOTAL SET "英语" = sc_rec.GRADE WHERE SNO = sc_rec.SNO;

END IF;

-- 计算平均分.

UPDATE SC_TOTAL

SET "平均分" = (NVL("数学",0) + NVL("语文",0) + NVL("英语", 0))

/ (NVL2("数学", 1,0) + NVL2("语文", 1, 0) + NVL2("英语",1, 0))

WHERE SNO = sc_rec.SNO;

END LOOP;

END;

/

-- 数据核对.

SQL>SELECT * FROM SC_TOTAL;

SNO 数学 语文 英语 平均分

---------- ---------- ---------- ---------- ----------

95001 75 92 83.5

95002 77 77

95003 85 85

以上是练习ORACLE数据库的题目的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它们
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

发现如何在Windows设置中修复驱动健康警告 发现如何在Windows设置中修复驱动健康警告 Mar 19, 2025 am 11:10 AM

Windows设置中的驱动器健康警告是什么意思?收到磁盘警告时该怎么办?阅读本php.cn教程以获取逐步说明以应对这种情况。

如何编辑注册表? (警告:谨慎使用!) 如何编辑注册表? (警告:谨慎使用!) Mar 21, 2025 pm 07:46 PM

文章讨论了编辑Windows注册表,预防措施,备份方法以及不正确的编辑中的潜在问题。主要问题:系统不稳定和数据丢失的风险不当变化。

如何管理Windows的服务? 如何管理Windows的服务? Mar 21, 2025 pm 07:52 PM

文章讨论了管理系统健康的Windows服务,包括启动,停止,重新启动服务以及稳定性的最佳实践。

如何修复蒸汽云错误?尝试这些方法 如何修复蒸汽云错误?尝试这些方法 Apr 04, 2025 am 01:51 AM

蒸汽云错误可能是由于许多原因引起的。要顺利玩游戏,您需要采取一些措施来删除此错误,然后才能启动游戏。 PHP.CN软件在这篇文章中介绍了一些最佳方法以及更多有用的信息。

如何更改文件类型的默认应用程序? 如何更改文件类型的默认应用程序? Mar 21, 2025 pm 07:48 PM

文章讨论了更改Windows上文件类型的默认应用程序,包括恢复和批量更改。主要问题:没有内置散装更改选项。

Windows元数据和Internet服务问题:如何解决? Windows元数据和Internet服务问题:如何解决? Apr 02, 2025 pm 03:57 PM

您可能会看到“无法建立与Windows Metadata和Internet Services(WMI)的连接”。事件查看器的错误。 PHP.CN的这篇文章介绍了如何删除Windows元数据和Internet服务问题。

如何解决KB5035942更新问题 - 崩溃系统 如何解决KB5035942更新问题 - 崩溃系统 Apr 02, 2025 pm 04:16 PM

KB5035942更新问题 - 用户通常发生崩溃系统。受到的人们希望找到摆脱困境的出路,例如崩溃系统,安装或声音问题。针对这些情况,这篇文章由Php.cn Wil发表

如何使用组策略编辑器(gpedit.msc)? 如何使用组策略编辑器(gpedit.msc)? Mar 21, 2025 pm 07:48 PM

本文介绍了如何在Windows中使用组策略编辑器(GPEDIT.MSC)来管理系统设置,突出显示常见的配置和故障排除方法。它指出gpedit.msc在Windows Home Edition中不可用,建议

See all articles