数据库练习题

更新时间:2023-12-06 19:36:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

数据库练习题

Day01~Day02

1. 查询职员表中工资大于5600的员工姓名和工资

2. 查询职员表中员工号为1008的员工的姓名和部门号码

3. 选择职员表中工资不在6000到8000的员工的姓名和工资

4. 选择职员表中在20和30号部门工作的员工姓名和部门号

5. 选择职员表中没有管理者的员工姓名及职位, 按职位排序

6. 选择职员表中有奖金的员工姓名,工资和奖金,按工资倒序排列

7. 选择职员表中员工职位的第二个字母是a的员工姓名

8. 列出部门表中的部门名字和所在城市;

9. 显示出职员表中的不重复的职位;

10. 查询职员表emp中员工号、姓名、工资,以及工资提高百分之20%后的结果

11. 查询员工的姓名和工资数,条件限定为工资数必须大于7200,并对查询结果按入职时间进行排列,早入职排在前面,晚入职排在后面。

12. 列出除了ACCOUNT部门还有哪些部门。 1. 使用decode函数,按照下面的条件:

JOB GRADE President A Manager B Analyst C Salesman D Clerk E 产生类似下面形式的结果 ENAME JOB GRADE Smith Clerk E

2. 查询各员工的姓名ename,并显示出各员工在公司工作的月份数(即:与当前日期比较,该员

工已经工作了几个月, 用整数表示)

提示:使用months_bteween函数,并用round函数四舍五入为整数

3. 现有数据表Customer,其结构如下所示: cust_id NUMBER(4) Primary Key, --客户编码 cname VARCHAR2(25) Not Null, --客户姓名 birthday DATE, --客户生日 account NUMBER. --客户账户余额 假设其中已经有一些数据记录。

(1).构造SQL查询语句,列出Customer数据表中每个客户的信息。如果客户生日未提供,则该列值显示“not available” 。如果没有余额信息,则显示“no account”。

(2).构造SQL语句,列出生日在1987年的客户的全部信息。

(3).构造SQL语句,列出客户帐户的余额总数。

4. 按照”2009-4-11 20:35:10 ”格式显示系统时间。

5. 构造SQL语句查询员工表emp中员工编码empno,姓名ename,

-----------------------day3----------------------------------- 1. 查询出JONES的领导是谁(JONES向谁报告)

2. JONES领导谁。(谁向JONES报告)。

3. 查询各职位的员工工资的最大值,最小值,平均值,总和

4. 选择具有各个job的员工人数(提示:对job进行分组)

5. 查询员工最高工资和最低工资的差距,列名为DIFFERENCE;

6. 查询各个管理者属下员工的最低工资,其中最低工资不能低于800,没有管理者的员工不计算在内

7. 查询所有部门的部门名字dname,所在位置loc,员工数量和工资平均值;

8. 查询和scott相同部门的员工姓名ename和雇用日期hiredate

9. 查询工资比公司平均工资高的所有员工的员工号empno,姓名ename和工资sal。

10. 查询和姓名中包含字母u的员工在相同部门的员工的员工号empno和姓名ename

11. 查询在部门的loc为newYork的部门工作的员工的员工姓名ename,部门名称dname和岗位名称job

12. 查询管理者是king的员工姓名ename和工资sal

13. 显示Operations部门有哪些职位

14. 各个部门中工资大于1500的员工人数

15. 哪些员工的工资,高于整个公司的平均工资,列出员工的名字和工资(降序)

16. 所在部门平均工资高于1500的员工名字

17. 列出各个部门中工资最高的员工的信息:名字、部门号、工资

18. 哪个部门的平均工资是最高的,列出部门号、平均工资

-------------------------------------- Day4-------------------------------------------------- 1. 创建表 employee,字段见第三题表头显示,字段定义为: ID number(2)

FIRST_NAME varchar2(20) LAST_NAME varchar2(20) MGRID number(2) SALARY number(7,2)

2.显示表 employee 的结构;

3.向表中插入FIRST_NA ME LAST_NA ME MGRID 下列数据,并提交,查询数据; ID 1 2 3 4

Rose Matha Donna

Doctor

Tyler Jones Noble

Who

4 4 4

1500 2200 1300 3500

3000 SALARY

5 Jack Harkness 1 以及月收入(薪水加奖金),记住有些员工是没有奖金的。

6. 显示所有员工的姓名ename,部门号deptno和部门名称dname。

7. 选择在beijing工作的员工的员工姓名、职位、部门编码、部门名字

8. 列出每个员工的名字,工资、涨薪后工资(涨幅为8%),以元为单位进行四舍五入

9. 查询各员工的姓名ename,并显示出各员工在公司工作的月份数(即:与当前日期比较,该员工已经工作了几个月, 用整数表示)

提示:使用months_between函数,并用round函数四舍五入为整数

10. 列出每个员工的名字,工资、涨薪后工资(涨幅为8%),以元为单位进行四舍五入

11. 查询各job的员工工资的最大值,最小值,平均值,总和

----------------------------------------day05--------------------------------- 1. 创建一个序列,初始值是1000,步进是10;

2. 创建一个视图v_emp,内容是按部门分组,各个部门的薪水总和和员工人数;视图字段定义为deptno, total_sal, total_count;

3. 查询视图,列出全部记录;

4. 删除视图;

5. 列出薪水最低的三名员工的名字;

6. 列出按员工编码排序,第6到第10条员工记录。

本文来源:https://www.bwwdw.com/article/f3pt.html

Top