数据库实验6——数据查询(以诸子百家为例)

数据查询

一、实验目的

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

二、实验要求

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

三、实验内容

…….
所有的查询全部用Transact-SQL语句实现。此部分查询包括投影、选择条件表达、数据排序、使用临时表等。
对EDUC数据库实现以下查询:

将student表中sname为“鲁班”的改为“鲁班七号”。(学生姓名修改,具体数据根据情况而定)
问题:字符信息应该用单引号括起来
在这里插入图片描述

结果:
在这里插入图片描述

改正查询成功:在这里插入图片描述
在这里插入图片描述

1) 查询“儒家”专业的学生学号和姓名;

遇到问题:开始时候想要利用两个表的笛卡尔积构造一个临时的大表供查询,事实证明,此时用clsName作为子查询和最终查询的连接没有成功,因为此时的clsName已经混淆了,反正就是两个表的笛卡尔积反倒把两者的关系搞得一团糟,所以,直接去掉,利用子查询。
在这里插入图片描述

改正查询成功:
在这里插入图片描述

2) 查询选修课程“0001”且成绩在80~90 之间的学生学号和成绩,并将成绩乘以系数0.75 输出;
在这里插入图片描述

3) 查询“0001”课程的成绩高于“赵一”的学生学号和成绩;
在这里插入图片描述
在这里插入图片描述

4) 查询没有选修“0002”课程的学生姓名。
利用子查询即可完成相应功能。
在这里插入图片描述

四、实验步骤

在查询分析器中完成上述所有查询。
具体见内容

五、实验总结

数据的查询方法不唯一,可以探寻优化方法。
1、因为在所建表中未有“计算机应用”专业,所以可用class.specialty=’计算机应用’进行查询。
2、对于问题“2”中的用’distinct‘进行查询,这样做可避免了选课学生重复出现。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

李霁明

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

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

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

打赏作者

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

抵扣说明:

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

余额充值