搜索
首页电脑教程电脑知识练习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中文网其他相关文章!

声明
本文转载于:Excel办公网。如有侵权,请联系admin@php.cn删除
Linux vs Mac:如何在Mac上安装Linux -MinitoolLinux vs Mac:如何在Mac上安装Linux -MinitoolMay 14, 2025 am 01:21 AM

Linux和Mac有什么区别?您要在Mac上安装Linux吗? Php.CN的这篇文章将向大家展示。您可以参考本指南有关双启动Linux和MacOS。

什么是MHTML,IT和HTML之间有什么区别-Minitool什么是MHTML,IT和HTML之间有什么区别-MinitoolMay 14, 2025 am 01:20 AM

什么是MHTML?如何打开或查看它? IT和HTML之间有什么区别?如何将MHTML转换为HTML?如果您正在寻找上述问题的答案,则可以参考PHP.CN的这篇文章。

求解已删除的文件在Windows 10 -Minitool中不断出现求解已删除的文件在Windows 10 -Minitool中不断出现May 14, 2025 am 01:19 AM

本文重点介绍了删除文件在Windows 10中不断出现的主题,引入了负责任的原因和可行的解决方案。

如何通过卸载产品密钥停用Windows 10/11 -Minitool如何通过卸载产品密钥停用Windows 10/11 -MinitoolMay 14, 2025 am 01:18 AM

这篇文章教您如何通过删除产品密钥或许可证来停用Windows 10/11。您可以使用该产品密钥在稍后(如果需要)激活另一台计算机。有关更多计算机提示和技巧,您可以访问PHP.CN软件官方网站。

即时解决错误0164:内存大小减小即时解决错误0164:内存大小减小May 14, 2025 am 01:15 AM

一些Windows用户报告说,每次启动计算机时,错误0164内存大小都会降低屏幕。怎么了?如果您在同一条船上,恭喜!您来对地方了!在这篇文章中

最佳修复程序:此页面现在在Facebook -Minitool上现在不可用最佳修复程序:此页面现在在Facebook -Minitool上现在不可用May 14, 2025 am 01:11 AM

目前不可用的是您使用Web浏览器访问Facebook时可能遇到的错误消息。在此php.cn帖子中,我们将列出一些有效的方法,您可以尝试摆脱此错误。

Windows 11 KB5010414发行了许多新功能 -  MinitoolWindows 11 KB5010414发行了许多新功能 - MinitoolMay 14, 2025 am 01:09 AM

Windows 11 KB5010414现在可以使用Windows 11的新可选更新。您知道什么是新的并解决了吗? PHP.CN软件将在这篇文章中向您显示此信息。此外,它还告诉您如何下载和安装在您的compu上

如何更改Windows 11中的Windows更新设置? -  Minitool如何更改Windows 11中的Windows更新设置? - MinitoolMay 14, 2025 am 01:08 AM

是否要在Windows 11计算机上暂停Windows更新?是否要设置主动时间以安排计算机重新启动以完成更新过程?您需要知道如何更改Windows 11中的Windows更新设置。此php.cn帖子将向您显示

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

禅工作室 13.0.1

禅工作室 13.0.1

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

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

安全考试浏览器

安全考试浏览器

Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。