数据库实验二数据查询和视图操作

实验内容:

(1)求数学系学生的学号和姓名。

(2)求选修了课程的学生学号。

(3)求选修课程号为‘2’的学生号和成绩,并要求对查询结果按成绩的降序排列,如果成绩相同按学号的升序排列

(4)求选修课程号为’2’且成绩在80~90之间的学生学号和成绩,并将成绩乘以0.8输出。

(5)求数学系或计算机系姓张的学生的信息。

(6)求缺少了成绩的学生的学号和课程号。

(7)查询各个课程号与相应的选课人数。

每条语句一个截图。

(二) 多表连接查询

(1)查询 

(2)求学生的学号、姓名、选修的课程及成绩。

(3)求选修课程号为‘1’且成绩在90分以上的学生学号、姓名和成绩。

(4)查询每一门课程的间接先行课。

(5)查询与’刘晨’在同一个系学习的学生。

(6)查询选修了课程名为‘信息系统‘的学生学号和姓名。

(7)查询平均成绩在80分以上的学生学号和平均成绩。

(8)查询选修了1门以上课程的学生的学号。

每条语句一个截图。

(三) 嵌套查询

(1)求选修了信息系统的学号和姓名。

(2)查询与刘晨在同一个系学习的学生。

(3)求选修1号课程的成绩高于刘晨的成绩(指刘晨选修的所有的课程的成绩)的学生学号及成绩。

(4)求其他系中比计算机系某一学生年龄小的学生(即年龄小于计算机系年龄最大者的学生)。

(5)求其他系中比计算机系学生年龄都小的学生姓名及年龄。

(6)求没有选修3号课程的学生姓名。

(7)查询选修了全部课程的学生姓名。

20

(8)求至少选修了学号为“200215121”的学生所选修全部课程的学生学号和姓名。

(9)求选修课程超过2门的学生的学号和姓名。

每条语句一个截图。

(四) 视图

(1)建立信息系学生的视图。并查询此视图,观察结果。

(2)(在视图上建立)建立信息系选修了1号课程的学生的视图。查询此视图,并观察结果。

(3)将学生的学号及其平均成绩定义为一个视图。查询此视图,观察结果。

(4)将Student表中所有女生记录定义为一个视图F_stu(sno,sname,sdept,sex),并设置其更新限制with check option。

(5)对4中的视图进行insert操作,将sno为200215129,sname为‘smith’,sdept为‘MA’插入视图中,结果如何?

插入失败

(6)对4中的视图进行insert操作,将sno为200215129,sname为‘smith’,sdept为‘MA’,ssex为‘女’插入视图中,结果如何?

插入成功

(7)第5、6题的执行结果有什么区别?

一个失败一个成功;

(五)思考题:

(1)Where子句中能否用聚集函数作为条件表达式。

不能

(2)多表连接查询中如果显示的某一属性不止一个表中出现,应如何处理。(例:(二)多表连接查询中的第2题)。

确定要显示的为那个表出现的属性,如确定是student.sno或sc.sno;

(3)在嵌套查询中,什么情况下用“IN”和“=”都可以。

内层查询只返回一个值。

  • 8
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
实验数据查询实验 一. 实验目的 通过对实验二中建立的学生数据库关系表和视图的各种查询操作,加深对SQL查询语言的了解,掌握相关查询语句的语法和使用方法。 二. 实验要求 (1) 用SQL语句完成以上操作 (2) 要求学生独立完成以上内容。 (3) 实验完成后完成要求的实验报告内容。 三. 实验环境 操作系统:Microsoft Windows 7旗舰版 (32位)。 硬件:容量足以满足Sybase 12.5.1安装及后续实验的使用。 软件:数据库版本:Sybase 12.5.1 。 四. 实验内容 1. 数据库关系表查询: (1) 简单的查询操作,包括单表的查询、选择条件、结果排序等的练习; (2) 多表的连接查询,包括等值连接、自然连接等; (3) 复杂的查询操作,包括使用分组函数等库函数的查询操作; (4) 练习带有IN、比较符的嵌套查询。 具体内容包括: (1)在简单查询实验中,在sql语句完成以下查询操作查询数据库原理”课程的学分; 查询选修了课程编号为“C01”的学生的学号和成绩,并将成绩按降序输出; 查询学号为“31401”的学生选修的课程编号和成绩; 查询选修了课程编号为“C01”且成绩高于85分的学生的学号和成绩。 (2)在多表连接的查询实验中,在SQL SERVER提供的交互式语言环境下用Transact SQL语句完成以下查询操作查询选修了课程编号为“C01”且成绩高于85分的学生的学号、姓名和成绩; 查询所有学生的学号、姓名、选修的课程名称和成绩; (3)在复杂查询实验中,用 SQL语句完成以下查询操作查询至少选修了三门课程的学生的学号和姓名; 查询所有学生的学号和他选修课程的最高成绩,要求他的选修课程中没有成绩为空的。 (4)在嵌套查询实验中,在MySQL 5.5提供的交互式语言环境下用iSQL语句完成以下查询操作,要求写嵌套查询语句 查询选修了数据库原理的学生的学号和姓名; 查询没有选修数据库原理的学生的学号和姓名; 查询至少选修了学号为“31401”的学生所选修的所有课程的学生的学号和姓名。 2. 视图查询: 对实验二建立的视图进行相关的查询操作,如: 查询选修了课程编号为“C01”的学生的学号和成绩; 查询所有学生的学号、姓名、选修的课程名称和成绩; 查询选修了数据库原理的学生的学号和姓名。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小李小于

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值