一、实验名称

基于Mysql的SQL应用

二、实验目的

要求学生熟练掌握Mysql平台下SQL指令的应用,完成对基本表、视图创建、删除、数据插入、查询、更新和删除等数据管理工作。

三、实验要求

1、基本硬件配置:英特尔Pentium III 以上,大于4G内存;

2、软件要求:Mysql;

3、时间:1课时;

4、撰写实验报告并按时提交。

四、实验内容

Table emp(empno: 职工号;ename:职工姓名;Job:工作;Mgr:部门领导;Hiredate:聘用日期;Sal:月薪;Comm: 月津贴;deptno: 部门编号)

Table dept(Deptno:部门编号;Dname部门名称;Loc部门所在地;sumsalary:总薪资;persons职工人数)

请用‘dbcreate.sql’导入实验所用数据库。

Group 1: 用命令“Select”查询相关数据: 

1.检索所有的职工姓名与年薪

头歌MySQL数据库实验三数据查询二答案 sql数据查询实验报告_sql

2.检索所有的工作和相应的部门编号

头歌MySQL数据库实验三数据查询二答案 sql数据查询实验报告_sql_02

 

3.检索工作是salesman的员工姓名;

头歌MySQL数据库实验三数据查询二答案 sql数据查询实验报告_sql_03

 

4.检索员工津贴comm为null或comm小于300的员工姓名和津贴值;

头歌MySQL数据库实验三数据查询二答案 sql数据查询实验报告_数据库_04

 

5.检索所有职员的姓名和所在部门名称;

头歌MySQL数据库实验三数据查询二答案 sql数据查询实验报告_Group_05

 

6.检索所有员工及其相关领导的姓名。

头歌MySQL数据库实验三数据查询二答案 sql数据查询实验报告_Group_06

 

7.查询聘用日期早于他们的领导的雇员姓名。

头歌MySQL数据库实验三数据查询二答案 sql数据查询实验报告_Group_07

 

8.检索在任何位置有字母“A”的员工姓名;

头歌MySQL数据库实验三数据查询二答案 sql数据查询实验报告_sql_08

 

9.检索名字没有字母串‘%R’的员工姓名;

头歌MySQL数据库实验三数据查询二答案 sql数据查询实验报告_sql_09

 

10.检索所有员工姓名的前三个字母;

头歌MySQL数据库实验三数据查询二答案 sql数据查询实验报告_sql_10

 

11.查询部门2所有的经理、部门3所有clerks以及所有其他所有工资超过2000元的员工姓名;

头歌MySQL数据库实验三数据查询二答案 sql数据查询实验报告_sql_11

 

12.查询所有manager岗位而非3号部门的员工姓名;

头歌MySQL数据库实验三数据查询二答案 sql数据查询实验报告_Group_12

 

13.检索所有员工的姓名、职位和工资,按职位降序排列;

头歌MySQL数据库实验三数据查询二答案 sql数据查询实验报告_数据库_13

 

14.检索所有员工的姓名、年收入(sal+comm) * 12(要求重命名),按升序显示;

头歌MySQL数据库实验三数据查询二答案 sql数据查询实验报告_Group_14

 

15.检索1号部门所有员工的人数和平均年薪;

头歌MySQL数据库实验三数据查询二答案 sql数据查询实验报告_sql_15

 

16.检索每个部门的名称和人数。

头歌MySQL数据库实验三数据查询二答案 sql数据查询实验报告_Group_16

 

17.检索每一种工作的最低工资和工作。

头歌MySQL数据库实验三数据查询二答案 sql数据查询实验报告_sql_17

 

18.查询各个部门经理职位(manager)的员工最低工资。

头歌MySQL数据库实验三数据查询二答案 sql数据查询实验报告_数据库_18

 

19.查询各部门员工人数、平均工资、平均参加工作的天数;

头歌MySQL数据库实验三数据查询二答案 sql数据查询实验报告_Group_19

 

20.检索最低工资在1500元的工作岗位;

头歌MySQL数据库实验三数据查询二答案 sql数据查询实验报告_sql_20

 

21.检索至少有两个人的部门名称和人数;

头歌MySQL数据库实验三数据查询二答案 sql数据查询实验报告_数据库_21

 

22.检索与SCOTT的工作岗位相同的所有员工的姓名; 

头歌MySQL数据库实验三数据查询二答案 sql数据查询实验报告_Group_22

 

23.检索所有工资高于Smith的工资的员工姓名和所在部门;

头歌MySQL数据库实验三数据查询二答案 sql数据查询实验报告_sql_23

 

24.检索所有工资高于整个公司平均工资的员工的姓名和工资;

头歌MySQL数据库实验三数据查询二答案 sql数据查询实验报告_sql_24

 

25.检索所有工资高于1号部门所有职工工资水平的员工姓名和工资(>any或>all);

头歌MySQL数据库实验三数据查询二答案 sql数据查询实验报告_Group_25

 

26.检索所有工资高于1号部门某职工工资水平的员工姓名和工资(>any或>all);

头歌MySQL数据库实验三数据查询二答案 sql数据查询实验报告_sql_26

 

27.查询与3号部门某个员工工作岗位相同的员工姓名和工资;

头歌MySQL数据库实验三数据查询二答案 sql数据查询实验报告_Group_27

 

28.检索所有部门名称和所有员工,包括那些没有任何员工的部门。

头歌MySQL数据库实验三数据查询二答案 sql数据查询实验报告_数据库_28

 

29.创建一个包括1号部门员工所有信息的视图。                   

头歌MySQL数据库实验三数据查询二答案 sql数据查询实验报告_sql_29

                                                                                                                   

头歌MySQL数据库实验三数据查询二答案 sql数据查询实验报告_sql_30

 

 

 

Group 2使用你的账户创建两个表,包括属性数据类型、主键和外键。

ddept (deptno, dname loc)
deptno:integer;dname: varchar (20); loc: varchar (30);
primary key:deptno;
eemp (empno, ename,job,hiredate,salary,comm,deptno)
empno: integer;ename: varchar(20);job:varchar(20),hiredate:datetime, salary:double; comm:double;deptno: integer, not null;
Primary key:empno;forign keys:deptno reference ddept(deptno),mgr reference EEmp(empno)。

见下题   mgr好像没给类型所以没加

Group 3: 完成以下操作:

1. 通过alter table添加一个check约束(comm在1和3000之间);

2. 向表eemp中插入至少5条员工记录;

3. 从eemp中删除名为“SMITH”的记录;

4. 创建部门研究信息视图,包括empno、ename、salary和comm。

5. 将所有员工的工资提高20%。                                                     

头歌MySQL数据库实验三数据查询二答案 sql数据查询实验报告_数据库_31

头歌MySQL数据库实验三数据查询二答案 sql数据查询实验报告_sql_32

 

头歌MySQL数据库实验三数据查询二答案 sql数据查询实验报告_数据库_33

 

头歌MySQL数据库实验三数据查询二答案 sql数据查询实验报告_sql_34

 

头歌MySQL数据库实验三数据查询二答案 sql数据查询实验报告_数据库_35

 

 

 

Group 4: 综合设计

根据某个应用的需求,创建一个新的数据库。其中至少包括3个表,每个表至少定义4个合理的属性,分别具有适合的数据类型,并确定表的主键。然后,根据您设计的数据库,将每个表中至少插入4行数据。

头歌MySQL数据库实验三数据查询二答案 sql数据查询实验报告_Group_36

 

  • 实验心得

用source快速导入文件。

如果只用了sum等聚合,没用group by会只输出1行记录。