MySQL数据库实战练习:从基础到进阶

"这些练习题主要涵盖了MySQL数据库的基础查询操作,包括选择特定列、去除重复值、筛选条件查询、排序、计数、求最大值、平均值以及子查询等核心概念。"
1. **选择特定列**: 在SQL中,`SELECT`语句用于从表中选择指定的列。例如,`SELECT Sname, Ssex, Class FROM STUDENT` 会返回`STUDENT`表中的`Sname`、`Ssex`和`Class`列的所有数据。
2. **去除重复值**: `DISTINCT`关键字用于消除查询结果中的重复行。`SELECT DISTINCT Depart FROM TEACHER` 将显示`TEACHER`表中所有不重复的`Depart`值。
3. **查询所有记录**: 使用`SELECT * FROM TABLE_NAME`可以获取表中的所有记录,这里的`*`代表所有列。
4. **范围查询**: `BETWEEN`操作符用于选取介于两个值之间的数据。如`WHERE DEGREE BETWEEN 60 AND 80`将返回`SCORE`表中成绩在60到80之间的所有记录。
5. **集合查询**: `IN`操作符用于匹配一组特定值。`WHERE DEGREE IN (85, 86, 88)`将返回`SCORE`表中成绩为85、86或88的记录。
6. **逻辑运算符`: `OR`用于连接两个条件,`WHERE CLASS = '95007' OR SSEX = '女'`将返回`STUDENT`表中班级为'95007'或性别为'女'的记录。
7. **排序查询**: `ORDER BY`语句用于对查询结果进行排序,`DESC`表示降序,`ASC`表示升序。`ORDER BY CLASS DESC`将按班级降序排列`STUDENT`表的所有记录。
8. **复合排序**: `ORDER BY`可以同时包含多个字段,如`ORDER BY CNO ASC, DEGREE DESC`将先按课程号`CNO`升序排列,然后在同一课程内按成绩`DEGREE`降序排列。
9. **计数函数**: `COUNT()`函数用于计算满足条件的记录数,`SELECT COUNT(SNO) FROM STUDENT WHERE CLASS = '95031'`将返回'95031'班的学生人数。
10. **最大值查询**: 结合子查询,`SELECT sno, cno FROM score WHERE DEGREE = (SELECT MAX(DEGREE) FROM SCORE)`将找到`SCORE`表中的最高分及其对应的学号和课程号。
11. **平均值函数**: `AVG()`函数用于计算某列的平均值,`SELECT AVG(DEGREE) FROM SCORE WHERE CNO = '3-105'`将返回'3-105'课程的平均分。
12. **子查询与条件**: 子查询可以在`WHERE`子句中作为条件,`WHERE cno IN (SELECT cNO FROM SCORE GROUP BY CNO HAVING COUNT(*) >= 3 AND CNO LIKE '1%')`选取了至少有3名学生选修且课程号以'1'开头的课程的平均分数。
这些练习题旨在帮助学习者掌握基础的SQL查询技巧,通过实践来巩固理论知识,进一步提升在MySQL数据库管理中的能力。
3986 浏览量
212 浏览量
165 浏览量
151 浏览量
312 浏览量
156 浏览量
228 浏览量

莹_0630
- 粉丝: 0
最新资源
- DeepFreeze密码移除工具6.x版本使用教程
- MQ2烟雾传感器无线报警器项目解析
- Android实现消息推送技术:WebSocket的运用解析
- 利用jQuery插件自定义制作酷似Flash的广告横幅通栏
- 自定义滚动时间选择器,轻松转换为Jar包
- Python环境下pyuvs-rt模块的使用与应用
- DLL文件导出函数查看器 - 查看DLL函数名称
- Laravel框架深度解析:开发者的创造力与学习资源
- 实现滚动屏幕背景固定,提升网页高端视觉效果
- 遗传算法解决0-1背包问题
- 必备nagios插件压缩包:实现监控的关键
- Asp.Net2.0 Data Tutorial全集深度解析
- Flutter文本分割插件flutter_break_iterator入门与实践
- GD Spi Flash存储器的详细技术手册
- 深入解析MyBatis PageHelper分页插件的使用与原理
- DELPHI实现斗地主游戏设计及半成品源码分析