SQLServer数据库操作实验:查询与聚合函数应用

需积分: 2 0 下载量 28 浏览量 更新于2024-08-03 收藏 33KB DOCX 举报
"SqlSever数据库题.docx 文件包含了关于SQL Server 2008数据库管理系统的若干实验题目,旨在帮助学习者掌握SQL查询语句的基本操作,包括聚合函数、LIKE操作符、DISTINCT关键字、子查询以及ORDER BY和WHERE子句的使用。" 在SQL Server数据库中,进行数据查询是数据库管理员和开发者的常见任务。实验4覆盖了多个关键知识点,这些知识点对于理解和操作SQL Server数据库至关重要。 1. **聚合函数**:在SQL中,聚合函数如`AVG()`用于计算一组数值的平均值。在实验中,`SELECT AVG(age) FROM student`计算了所有学生的平均年龄,这在统计分析或报告生成时非常有用。 2. **LIKE操作符**:LIKE用于在查询中进行模式匹配,如`SELECT * FROM student WHERE name LIKE '王_'`,它会找出所有名字以"王"开头,后面跟着一个任意字符的学生信息。`NOT LIKE`则用于排除匹配特定模式的数据。 3. **DISTINCT关键字**:在SQL中,`DISTINCT`用于去除查询结果中的重复项,例如`SELECT DISTINCT sno FROM student INNER JOIN SC ON student.sno = sc.sno WHERE cno IS NOT NULL`,它返回所有有选课记录的独特学生学号。 4. **多条件查询**:实验中的`SELECT sno FROM sc WHERE cno = '1' AND cno = '2'`展示了如何同时满足多个条件的查询,这里查找的是同时选修了课程号为1和2的学生。 5. **子查询**:子查询可以在查询中嵌套,如`DECLARE @i INT; SELECT @i = (SELECT AVG(age) FROM student); SELECT * FROM student WHERE age > @i`,首先计算平均年龄,然后找出年龄大于平均值的学生。 6. **ORDER BY子句**:`ORDER BY`用于排序查询结果,例如`SELECT sno, grade FROM sc INNER JOIN student ON sc.sno = student.sno WHERE cno = 'C1' ORDER BY Score, sno DESC`,它按照成绩升序和学号降序排列选择了课程C1的学生信息。 7. **WHERE子句**:`WHERE`子句用于筛选满足特定条件的记录,如`SELECT * FROM student WHERE name NOT LIKE '刘%'`,它返回所有不以"刘"开头的学生信息。 8. **LIKE与通配符**:`LIKE`配合通配符`%`和`_`可以进行灵活的字符串匹配。`LIKE '沈__'`找到所有姓沈且名字为三个字符(前两个已知,后一个未知)的学生。 9. **课程信息查询**:`SELECT * FROM course WHERE cname LIKE '%数据%'`返回包含"数据"关键词的课程信息,这在搜索特定主题的课程时非常实用。 10. **日期和时间操作**:`WHERE year(birthday) > 1985`筛选出1985年后出生的学生,展示了如何在查询中对日期进行比较。 通过这些实验,学习者可以深入理解SQL Server的查询语言,提高在实际数据库操作中的能力。这些基础操作是构建更复杂查询和报表的基础,对于任何数据库管理或开发工作都是必不可少的技能。