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

更新时间:2023-10-23 18:24:01 阅读量: 综合文库 文档下载

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

数据查询部分测验

每题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 VARCHAR2(20),

LAST_NAME VARCHAR2(25) not null, EMAIL VARCHAR2(25),

PHONE_NUMBER VARCHAR(20), JOB_ID VARCHAR2(10), SALARY NUMBER(8,2), MANAGER_ID NUMBER(6), BIRTHDATE DATE; );

实验数据可自己定义,

如:000001 四 李 aa@163.com 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 VARCHAR2(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列以\开头的雇员:

【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分]

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

Top