2021HFUT数据库实验七 数据基本查询

一、实验目的

  1. 观察查询结果, 体会 SELECT 语句实际应用;
  2. 要求学生能够在查询分析器中使用 SELECT 语句进行基本查询;
  3. 熟练掌握简单表的数据查询、数据排序和数据连接查询的操作方法。

二、实验准备

  1. 成功建立了基本表;
  2. 了解简单 SELECT 语句的用法;
  3. 熟悉查询分析器中的 SQL 脚本运行环境。

三、实验要求

  1. 完成所要求的全部查询;
  2. 注意操作结果的截图与保存,供撰写实验报告使用。

四、实验内容
所有的查询全部用 Transact-SQL 语句实现。此部分查询包括投影、选择条件表达、数据排序、使用临时表等。
对 EDUC 数据库实现以下查询: (可根据数据表中的数据,对要求中的条件作出调整!)

  1. 查询“计算机应用”专业的学生学号和姓名;
  2. 查询选修了课程的学生学号;
  3. 查询选修课程 0001 且成绩在 80-90 之间的学生学号和成绩,并将成绩乘以系数 0.75 输出;
  4. 查询“计算机应用”和“数学”专业的姓“张”的学生的信息;
  5. 查询“0001”课程的成绩高于张三的学生学号、姓名和成绩;
  6. 查询没有选修“0002”课程的学生姓名;
  7. 查询每一门课的间接先修课。

五、实验步骤

--查询“计算机应用”专业的学生学号和姓名
select Sno,Sname from class,student where class.ClsNO=student.ClsNO and class.Specialty='计算机应用'

--查询选修了课程的学生学号
select Sno from sc where Sno is not null

--查询选修课程 0001 且成绩在 80-90 之间的学生学号和成绩,并将成绩乘以系数 0.75 输出
select Sno,Score*0.75 from sc where Cno='0001' and Score between 80 and 90

--查询“计算机应用”和“数学”专业的姓“张”的学生的信息
select * from student,class where Sname like '张%' and student.ClsNO=class.ClsNO and (Specialty='计算机应用'or Specialty='数学')

--查询“0001”课程的成绩高于张三的学生学号、姓名和成绩
select sc.Sno,Score 
from student,sc 
where sc.Cno='0001' and 
        student.Sno=sc.Sno and
        student.Sname!='张三' and
        Score > (select Score
                  from student,sc
                  where Sname='张三' and student.Sno=sc.Sno and Cno='0001')

--查询没有选修“0002”课程的学生姓名                           
select distinct Sname from student,sc where student.Sno=sc.Sno and Cno!='0002'

--查询每一门课的间接先修课
select course1.cno,course2.cpno
from course course1,course course2
where course1.cpno=course2.cno
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值