数据库实验查询操作与解答
需积分: 2 196 浏览量
更新于2024-09-13
收藏 35KB DOC 举报
"数据库实验与答案"
这篇内容主要涉及的是SQL语言在数据库操作中的应用,具体涵盖了一系列关于数据查询和筛选的基本操作。SQL(Structured Query Language)是用于管理和处理关系数据库的标准编程语言,这里通过一系列的示例展示了如何在数据库中进行数据的检索、筛选、排序和统计。
1. **查询所有记录的特定列**:在实验的第一个例子中,通过`SELECT sname, ssex, sclass FROM student`查询了`student`表中所有学生的姓名、性别和班级。这演示了基本的字段选择功能。
2. **查询不重复的值**:第二个查询`SELECT DISTINCT depart FROM teacher`返回了`teacher`表中所有不同的部门,展示了`DISTINCT`关键字用于去除重复值的作用。
3. **查询所有记录**:`SELECT * FROM student`用于获取表中的所有记录,`*`代表所有字段。而另一种形式`SELECT sno as '学号', sname as '姓名', ssex as '性别', sbirthday as '出生日期', sclass as '班号' FROM student`则展示了如何重命名列名。
4. **范围查询**:`SELECT * FROM score WHERE degree BETWEEN 60 AND 80`选取了`score`表中成绩在60到80之间的所有记录,`BETWEEN`用于指定一个范围。
5. **列表查询**:`SELECT * FROM score WHERE degree IN (85, 86, 88)`选取了成绩为85、86或88的记录,`IN`关键字用于匹配列表中的任意值。
6. **逻辑运算符的使用**:`SELECT * FROM student WHERE class = '95031' OR ssex = '女'`结合了`OR`逻辑运算符,查询了95031班或性别为女性的学生记录。
7. **排序查询**:`SELECT * FROM student ORDER BY sclass DESC`按班级降序排列了`student`表的所有记录,`ORDER BY`用于对结果进行排序,`DESC`表示降序,`ASC`表示升序。
8. **多列排序**:`SELECT * FROM score ORDER BY cno, degree DESC`首先按照课程编号`cno`升序,然后在相同课程内按分数`degree`降序排列记录。
9. **计数统计**:`SELECT COUNT(*) as '95031班人数' FROM student WHERE sclass = '95031'`计算了95031班的学生人数,`COUNT(*)`返回指定列的记录数。
10. **平均值计算**:`SELECT AVG(degree) as '课程平均分' FROM score WHERE cno = '3-105'`求出了编号为“3-105”课程的平均分,`AVG()`函数计算平均值。
11. **分组和条件统计**:`SELECT cno, AVG(degree) as '平均分' FROM score WHERE cno LIKE '3%' GROUP BY cno HAVING COUNT(*) > 3`查询了以3开头且至少有3名学生选修的课程的平均分,`LIKE`用于模糊匹配,`GROUP BY`进行分组,`HAVING`在分组后添加条件。
12. **聚合函数与子查询**:最后一个查询`SELECT sno FROM score GROUP BY sno HAVING MIN(degree) > 70 AND MAX(degree) < 90`找出了其最低分大于70且最高分小于90的学生学号,使用了`GROUP BY`和`HAVING`结合子查询来实现条件筛选。
这些实验覆盖了SQL的基本操作,包括选择、聚合、排序、分组和条件过滤,对于理解数据库查询和管理具有重要作用。在实际的数据库应用中,这样的查询技能是非常基础且重要的。
2018-05-21 上传
2021-10-03 上传
2015-06-30 上传
2011-12-24 上传
2018-01-27 上传
2011-12-08 上传
2016-05-26 上传
2019-06-13 上传
mhg1991
- 粉丝: 0
- 资源: 1
最新资源
- 火炬连体网络在MNIST的2D嵌入实现示例
- Angular插件增强Application Insights JavaScript SDK功能
- 实时三维重建:InfiniTAM的ros驱动应用
- Spring与Mybatis整合的配置与实践
- Vozy前端技术测试深入体验与模板参考
- React应用实现语音转文字功能介绍
- PHPMailer-6.6.4: PHP邮件收发类库的详细介绍
- Felineboard:为猫主人设计的交互式仪表板
- PGRFileManager:功能强大的开源Ajax文件管理器
- Pytest-Html定制测试报告与源代码封装教程
- Angular开发与部署指南:从创建到测试
- BASIC-BINARY-IPC系统:进程间通信的非阻塞接口
- LTK3D: Common Lisp中的基础3D图形实现
- Timer-Counter-Lister:官方源代码及更新发布
- Galaxia REST API:面向地球问题的解决方案
- Node.js模块:随机动物实例教程与源码解析