文档库 最新最全的文档下载
当前位置:文档库 › 单元测验(4-6数据查询)

单元测验(4-6数据查询)

单元测验(4-6数据查询)
单元测验(4-6数据查询)

数据查询部分测验

每题6分,共100分,时间90分钟。

要求拷贝命令截图。完成后,改文件名为:学号+姓名+数据查询测验,提交。

目标:掌握在数据表上进行select查询操作,包括子查询、集合操作、连接查询等。

准备:接收文件b.dmp,导入数据库数据文件,此次操作均在该数据库上完成。

首先,建立运行环境,本例中数据表定义如下:

表一:IT_EMPLOYEES

它由编号EMPLOYEE_ID、名FIRST_NAME、姓LAST_NAME、邮箱EMAIL、电话号码PHONE_NUMBER、部门编号JOB_ID、薪资SALARY、部门经理编号MANAGER_ID和雇员生日BIRTHDATE九个属性组成。

create table IT_EMPLOYEES

(

EMPLOYEE_ID NUMBER(6) not null unique,

FIRST_NAME V ARCHAR2(20),

LAST_NAME VARCHAR2(25) not null,

EMAIL V ARCHAR2(25),

PHONE_NUMBER V ARCHAR(20),

JOB_ID V ARCHAR2(10),

SALARY NUMBER(8,2),

MANAGER_ID NUMBER(6),

BIRTHDA TE DATE;

);

实验数据可自己定义,

如:000001 四李aa@https://www.wendangku.net/doc/769515937.html, 11111111 001 2000 000000,01-1月-1980

表二:COUNTRIES

它由国家编号COUNTRY_ID、国名COUNTRY_NAME、REGION_ID

create table COUNTRIES

(

COUNTRY_ID NUMBER(6) not null unique,

COUNTRY_NAME V ARCHAR2(20) not null,

REGION_ID NUMBER(6)

);

实验数据可自己定义,

如3001 china 3,1001 france 1,2001 mexico 2,4001 egypt 4

表三:EMPLOYEES (结构与IT_EMPLOYEES相似)

它由编号EMPLOYEE_ID、名FIRST_NAME、姓LAST_NAME、邮箱EMAIL、电话号码PHONE_NUMBER、部门编号DEPARTMENT_ID、薪资SALARY和部门经理编号MANAGER_ID 八个属性组成。

表四:部门表DEPARTMENT

部门编号DEPARTMENT_ID,部门名DEPARTMENT_NAME,地区号location_id

【1】对employees表中薪金的调整,所有人员的薪金增加10%:

【2】在EMPLOYEES表中包含一个DEPARTMENT_ID列。检索该表中出现的所有部门。去掉重复列。

【3】编写一个查询,判断所有FIRST_NAME列以"B"开头的雇员:

【4】查询出所有属于IT部门(DEPARTMENT_ID=60),并且薪金值大于2000的雇员。

【5】查询不同部门(部门号为60和30)的雇员信息:

【6】查询工资高于2000的员工信息,按照薪金从低到高的升序排列

【7】列出平均薪金值大于10000的部门统计信息,包括部门号、平均工资、工资总和、最高工资、部门人数

【8】显示工作部门为Shipping的雇员信息:

【9】查询雇员信息,以及雇员所对应的部门信息:

【10】使用内连接查询工作编号为ad_asst的雇员信息和雇员所在的部门名称:

【11】查询雇员和所在部门经理的信息。

【12】查询所有LAST NAME列以C或者S开头的雇员信息,以及所有LAST_NAME列以S或者T开头的雇员信息。结果是所有LAST_NAME列以C或者S或者T开头的雇员信息均会被列出。

【13】修改【12】的查询语句,使用INTERSECT集合操作,在查询结果集中保留LAST_NAME 以S开头的雇员:

【14】使用运算符MINUS求两个要查询的差集。第一个查询返回所有LAST_NAME以C或S 开头的雇员,第二个查询返回所有LAST_NAME以S和T开头的雇员。两个查询结果集的MINUS 操作将返回LAST_NAME以C开头的那些雇员。

【15】使用子查询查看所有部门在某一地区(1700)的雇员信息:

【16】查询EMPLOYEES表,将薪金大于本职位平均薪金的雇员信息显示出来:[10分]

相关文档