1.查询全体学生的学号和姓名2.查询全体学生的详细记录 3.查询所有选修过课程的学生学号 4.查询考试不及格的学生学号5.查询不是信息系(IS)、计算机系(CS)的学生性别、年龄、系别 6.查询选修了c4号课的学生学号和成绩,结果按成绩降序排列 7.查询计算机系的学生姓名、年龄、系别 1 查询选修了数据库原理的学生姓名。 2 查询比计算机系所有学生年龄都大的学生信息。 3列出“张力”选修的所有课程的课名和成绩。 【数据库实验报告】主要涉及了SQL语言的基本查询和高级查询操作,涵盖了数据筛选、聚合函数、子查询、排序、分组等重要概念。以下是对各个知识点的详细解释: 1. **基本查询**:通过`SELECT column FROM table`来获取指定列的数据。例如,查询全体学生的学号和姓名使用`SELECT sid, sname FROM student`;查询全体学生的详细记录使用`SELECT * FROM student`,这里的`*`代表所有列。 2. **条件查询**:利用`WHERE`子句筛选满足特定条件的记录。如查询考试不及格的学生学号`SELECT DISTINCT sid FROM sc WHERE grade < 60`,这里`DISTINCT`用于去除重复的学号。 3. **逻辑运算符**:`NOT`、`OR`、`AND`用于组合多个条件。例如,查询不是信息系和计算机系的学生信息`SELECT sex, sage, xueyuan FROM student WHERE NOT (xueyuan = '信息' OR xueyuan = '计算机')`。 4. **排序查询**:`ORDER BY`子句用于根据一个或多个列对结果集进行排序,如查询选修C4号课且按成绩降序排列的学生学号和成绩`SELECT sid, grade FROM sc WHERE cid = 'c4' ORDER BY grade DESC`。 5. **分组查询**:`GROUP BY`与聚合函数一起使用,用于统计分组后的数据。例如,统计每个学生选修的课程数`SELECT sid, COUNT(cid) AS '选修课程门数' FROM sc GROUP BY sid`。 6. **子查询**:嵌套查询,可作为其他查询的一部分。例如,查询总成绩大于200分的学生学号`SELECT sid FROM sc WHERE (SELECT SUM(grade) FROM sc) > 200 GROUP BY sid`,这里的子查询用于计算每个学生的总成绩。 7. **通配符查询**:使用`LIKE`操作符结合通配符`%`和`_`进行模糊匹配。例如,查询姓刘的学生`SELECT * FROM student WHERE sname LIKE '刘%'`,这里的`%`表示后面可以跟任意数量的字符。 8. **聚合函数**:`COUNT()`、`MAX()`、`MIN()`、`AVG()`、`SUM()`用于统计、求最大值、最小值、平均值和求和。如统计信息系学生总数`SELECT COUNT(*) AS '信息系学生总数' FROM student WHERE xueyuan = '信息'`。 9. **统计分析**:除了基本的查询外,实验还涉及到了对教师信息的统计,如统计计算机系教师总数、教师年龄的最大值和最小值、各系教师数量、教师代课门数、男女学生数量、选课人数、学生平均成绩等。 这些SQL语句和操作在数据库管理、数据分析和应用开发中非常常见,是掌握数据库操作的基础。通过这些实验,学生可以深入理解SQL语言的用法,并提高数据库操作能力。
- 粉丝: 0
- 资源: 3
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于Python和PyTorch的个性化人脸评分系统.zip
- (源码)基于Spring Boot和Vue的民商管理系统.zip
- (源码)基于MQTT协议的文件传输系统-TinyMQTT.zip
- 运用python生成的跳跃的爱心
- 基于 Java 实现的 Socket.IO 服务器 实时 Java 框架.zip
- 基于 Ant 的 Java 项目示例.zip
- 各种字符串相似度和距离算法的实现Levenshtein、Jaro-winkler、n-Gram、Q-Gram、Jaccard index、最长公共子序列编辑距离、余弦相似度…….zip
- 运用python生成的跳跃的爱心
- 包括用 Java 编写的程序 欢迎您在此做出贡献!.zip
- (源码)基于QT框架的学生管理系统.zip