实验六:数据库综合查询
一、实验目的
1. 掌握SELECT语句的基本语法和查询条件表示方法;
2. 掌握查询条件种类和表示方法;
3. 掌握连接查询的表示及使用;
4. 掌握嵌套查询的表示及使用;
5. 了解集合查询的表示及使用。
二、实验环境
已安装SQL Server 20## 企业版的计算机;
具有局域网环境,有固定IP;
三、实验学时
2学时
四、实验要求
1. 了解SELECT语句的基本语法格式和执行方法;
2. 了解连接查询的表示及使用;
3. 了解嵌套查询的表示及使用;
4. 了解集合查询的表示及使用;
5. 完成实验报告;
五、实验内容及步骤
以数据库原理实验5数据为基础,请使用T-SQL 语句实现进行以下操作:
1. 查询以‘DB_’开头,且倒数第3个字符为‘s’的课程的详细情况;
2. 查询名字中第2个字为‘阳’的学生姓名和学号及选修的课程号、课程名;
3. 列出选修了‘数学’或者‘大学英语’的学生学号、姓名、所在院系、选修课程号及成绩;
4. 查询缺少成绩的所有学生的详细情况;
5. 查询与‘张力’(假设姓名唯一)年龄不同的所有学生的信息;
6. 查询所选课程的平均成绩大于张力的平均成绩的学生学号、姓名及平均成绩;
7. 按照“学号,姓名,所在院系,已修学分”的顺序列出学生学分的获得情况。其中已修学分为考试已经及格的课程学分之和;
8. 列出只选修一门课程的学生的学号、姓名、院系及成绩;
9. 查找选修了至少一门和张力选修课程一样的学生的学号、姓名及课程号;
10. 只选修“数据库”和“数据结构”两门课程的学生的基本信息;
11. 至少选修“数据库”或“数据结构”课程的学生的基本信息;
12. 列出所有课程被选修的详细情况,包括课程号、课程名、学号、姓名及成绩;
13. 查询只被一名学生选修的课程的课程号、课程名;
14. 检索所学课程包含学生‘张向东’所学课程的学生学号、姓名;
15. 使用嵌套查询列出选修了“数据结构”课程的学生学号和姓名;
16. 使用嵌套查询查询其它系中年龄小于CS系的某个学生的学生姓名、年龄和院系;
17. 使用ANY、ALL 查询,列出其他院系中比CS系所有学生年龄小的学生;
18. 分别使用连接查询和嵌套查询,列出与‘张力’在一个院系的学生的信息;
19. 使用集合查询列出CS系的学生以及性别为女的学生名单;
20. 使用集合查询列出CS系的学生与年龄不大于19岁的学生的交集、差集;
21. 使用集合查询列出选修课程1的学生集合与选修课程2的学生集合的交集;
22. 思考题:按照课程名顺序显示各个学生选修的课程(如200515001 数据库 数据结构 数学);
六、出现问题及解决办法
如:某些查询操作无法执行,如何解决?
第二篇:数据库实验
实验1.1 使用SQL Server工具(Microsoft SQL Server Management Studio Express)管理数据库
1 实验内容:
(1) 使用SSMS(SQL Server Management Studio)加入实验数据库。
(2) 使用SSMS可视化建立、修改和删除数据库、表。
(3) 使用SSMS对数据库进行备份和恢复。
(4) 使用SSMS对表进行查询、插入、修改、删除。
2 实验步骤:
(1) 加入School数据库。
(2) 建立Test数据库。
(3) 在数据库中建立人员表PERSON(P#,Pname,Page)。更改表设置P#为主键,增加属性Ptype(类型是CHAR,长度是10)。
(4) 用SSMS的查询功能(新建查询)对PERSON表进行查询、插入、修改、删除等操作:首先插入两条记录;修改第二条记录;删除第二条记录。
(5) 备份Test数据库。
(6) 删除表PERSON。
(7) 恢复Test数据库。
(8) 删除Test数据库。