数据库数据查询和操作[材料]_数据库的基本查询操作
数据库数据查询和操作[材料]由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“数据库的基本查询操作”。
《数据查询与操作》实验
一、实验目的与要求
1、理解简单查询和复合查询的意义。
2、掌握SELECT语句和各子句的使用。
3、掌握多表查询和子查询的使用。
4、掌握INSERT、UPDATE和DELETE语句的使用。
二、实验平台
1、操作系统:Windows XP或Windows 20032、数据库管理系统:SQL Server 2005
三、实验内容
1.在“人事管理系统”中,新增一个员工信息(员工编号„100508‟、员工姓名„小龙女‟、所在部门编号„10001‟、籍贯„河南‟)。
insert into 员工信息(员工编号,员工姓名,所在部门编号,籍贯)values('100508','小龙女','10001','河南')
2.将“人事管理系统”数据库的“员工信息”表中籍贯为“河南”并且所在部门编号为”10001”数据插入到“新员工信息”表中。
insert into 新员工信息(员工编号,员工姓名,所在部门编号)select 员工编号,员工姓名,所在部门编号from 员工信息 where 籍贯='河南'and 所在部门编号='10001'
3.在“人事管理系统”数据库“部门信息”表中,将部门的员工人数设置为10。
4.在“人事管理系统”数据库“员工信息”表中,将文化程度为“大专”,并且在“2005-05-01”到“2007-05-01”之间入职的所有员工调动到编号为“10006”的部门去。
5.在“人事管理系统”数据库中对部门进行了重组和调整,原来编号为10006的部门名称变为“市场开发部”,人数也调整为20人。
6.在“人事管理系统”数据库中,编号为“100503”的新员工升级为正式员工,需要在“新员工信息”表中删除他的记录。
7.在“人事管理系统”数据库中,删除“新员工信息”表中所有在编号为“10005”部门工作的员工记录。
delete 20 percent from 员工信息
8.在“人事管理系统”数据库中,需要删除20%的员工信息。
9.在“教务管理系统”数据库“班级信息”表中,查询分配了班主任的班级信息。
10.在“教务管理系统”数据库“学生信息”表中,根据籍贯查询各省学生人数,并显示省份和人数信息。
11.在“教务管理系统”数据库中,根据相关表的内容,查询平均成绩大于70的课程信息。
select *
from 课程信息 where 课程编号In(select 课程编号
from 成绩表
group by 课程编号 having avg(成绩)>70)
12.在commidtysell数据库中,根据相关表的内容,查询销售同类产品的商场编号(去除相同的行)。
select distinct e1.empID as 商场编号 from EmporiumSell e1,EmporiumSell e2 where e1.ProdID=e2.ProdID
13.在commidtysell数据库中,根据相关表的内容,查询买出产品数量最多的商场编号和销售总量信息。
select e1.EmpID,sum(e1.SellAmout)as 销售总量 from EmporiumSell e1 group by e1.EmpID having sum(e1.SellAmout)>=all(select sum(SellAmout)from EmporiumSell group by EmpID
14.在TeachingManageSYS数据库中,根据相关表的内容,统计年龄大于平均年龄的教师的Tname、Tsex、Tage、Trank,所教授课程的Cname,Credit,CouresHour。
select T.Tname,T.Tsex,T.Tage,T.Trank,Cname,Credit,CouresHour from Teach,CourseInfo,TeacherInfo T where T.Tno=Teach.Tno and Teach.Cno=CourseInfo.Cno and Tage>(select avg(Tage)from TeacherInfo)
15.在“人事管理系统”数据库“员工信息”表中,查询工龄大于4年的员工信息
16.在“人事管理系统”数据库“员工信息”表中,把政治面貌是“党员”的职工信息保存到表名为“党员信息”新表中。
将学生“陈霞”所在班级的其他学生并且成绩不合格的学生成绩删除
select 成绩表.学号,成绩表.成绩,学生信息.姓名,学生信息.班级编号 from 成绩表,学生信息
where 成绩表.成绩
17.在“人事管理系统”数据库中,使用TRUNCATE TABLE语句删除“党员信息”表中的所有记录。
18.在“人事管理系统”数据库“员工信息”表中,把员工“李朋”所任职位更改为“副经理”。
19.查询“学生信息”表中姓名包含“红”字的学生的学号、姓名、性别、民族、籍贯和班级编号信息。
20.查询“学生信息”表中姓氏为“徐”的学生的学号、姓名、性别、民族、籍贯和班级编号信息。
21.从“教务管理系统”数据库中,查询人数超过45人所在班级中的学生的学号、姓名和班级名称。(使用子查询)
22.查询“学生信息”表中姓名不包含“红”字的学生的学号、姓名、性别、民族、籍贯和班级编号信息。
23.在“教务管理系统”数据库中,查询还未分配班主任的班级信息。
24.在“人事管理系统”数据库“员工信息”表中,将文化程度为“大专”,并且在“2005-05-01”到“2007-05-01”之间入职的所有员工调动到编号为“10006”的部门去。
25.查询数据表ProductInfo中前5条记录。
26.从ProductInfo表中,查询产品名称为“丙电视机”的产品信息。
27.从ProductInfo表中,查询FactAddr为“四川绵阳”或“广东东莞”,同时StockAmount大于110的产品的ProdID、StockAmount和FactAddr信息,并且给列名分别取别名为产品编号、库存数量和厂商地址。
28.从ProductInfo表中,查询StockAmount在250和400(包含200和400)之间的产品的ProdName和StockAmount。
29.创建一个学生补考表,表中数据来自成绩表,条件为成绩小于60分,要求补考表中仅显示学生的学号和补考课程的编号。编写SELECT INTO语句完成这操作。
30.在“教务管理系统”数据库中,查询出所有非计算机系的学生信息,并显示出这些学生的考试成绩,再按成绩进行降序排列显示,要求返回学生的学号、姓名、班级编号、课程编号和成绩信息。(多表查询)
31.在“教务管理系统”数据库中,查询学生姓名为“朱文娟”所在班级的学生信息,要求返回学生的学号、姓名、性别、班级编号、班级名称和年级信息。
select 学生信息.学号,学生信息.姓名,学生信息.性别,班级信息.班级编号,班级信息.班级名称,班级信息.年级 from 学生信息,班级信息
where 学生信息.班级编号=班级信息.班级编号
and 学生信息.姓名='朱文娟'
32.查询空调产品在ProductInfo的相关信息,要求该产品在EmporiumSell中的销售总量超过10台。
33.在“教务管理系统”数据库中,查询出任意一个大于平均成绩的学生的学号、姓名、班级编号、课程编号和成绩信息。
select 学生信息.学号,学生信息.姓名,学生信息.班级编号,成绩表.课程编号,成绩表.成绩 from 学生信息,成绩表
where 学生信息.学号=成绩表.学号and 成绩>any(select avg(成绩)from 成绩表
group by 课程编号)
34.在“教务管理系统”数据库中,对于成绩大于等于90的数据行进行查询,并返回考试成绩的学生的学号、姓名、性别、籍贯和所在班级名称及年级信息。
select 学生信息.学号,姓名,性别,籍贯,班级名称,班级信息.年级 from 学生信息,成绩表,班级信息
where 学生信息.班级编号=班级信息.班级编号and 学生信息.学号=成绩表.学号and 成绩>=90
35.在“人事管理系统”数据库的“员工信息”表中,查询“所任职位”为“经理”的员工编号和员工姓名信息,并为其增加新列“所在位置”,列的内容为“员工信息表”;从“部门信息”表中查询所有的部门编号和部门名称信息,并定义新增列的内容为“部门信息表”;最后将两个查询结果联合在一起。
select 员工编号,员工姓名 from 员工信息
where 所任职位='经理' alter table 员工信息 add 所在位置 nvarchar(20)
select 部门编号,部门名称 from 部门信息
alter table 部门信息
add 部门信息表 nvarchar(20)
select 员工编号,员工姓名
from 员工信息 FULL join 部门信息
on 员工信息.所在部门编号=部门信息.部门编号
36.在“教务管理系统”数据库的“学生信息”表和“成绩”表中,查询出所有考试及格的学生的成绩信息,包括学生的学号、姓名、性别、年级、班级编号及考试成绩,并且按照成绩进行降序排列。
select 学生信息.学号,姓名,性别,年级,班级编号,成绩 from 学生信息,成绩表 group by 学生信息.学号 having 成绩>60 order by 成绩desc
37.从“教务管理系统”数据库中的“学生信息”和“班级信息”两表中,查询学生和对应的班级信息,要求返回的结果中包含学生的学号、姓名、性别和班级名称及年级。
select 学号,姓名,性别,班级信息.年级,班级名称 from 学生信息,班级信息
where 学生信息.班级编号=班级信息.班级编号
38.在“教务管理系统”数据库的“学生信息”表和“成绩”表中,查询所有学生的考试成绩信息,包括学生学号、姓名、课程编号和成绩信息。(左、右、全外连接)
select 学生信息.学号,姓名,课程编号,成绩 from 学生信息left join 成绩表 on 学生信息.学号=成绩表.学号
select 学生信息.学号,姓名,课程编号,成绩 from 学生信息right join 成绩表 on 学生信息.学号=成绩表.学号
select 学生信息.学号,姓名,课程编号,成绩 from 学生信息full join 成绩表 on 学生信息.学号=成绩表.学号
39.在“人事管理系统”数据库中,对“员工信息”表和“部门信息”表进行交叉查询,要求查询返回所任职位为“职员”的员工编号、员工姓名、所任职位、文化程度和部门名称,并按照员工编号降序排序列。
select 员工编号,员工姓名,所任职位,文化程度,部门名称 from 员工信息,部门信息
where 员工信息.所在部门编号=部门信息.部门编号
四、实验过程
写出相应的T-SQL语句,并写出T-SQL语句执行结果的前两行记录。
五、实验总结
简述实验完成情况、实验过程中各自碰到的问题、各自对实验目的掌握情况。