SQL Server2008实验:数据查询与汇总操作

需积分: 9 4 下载量 74 浏览量 更新于2024-09-21 收藏 519KB DOC 举报
"实验C5 数据查询实验是关于数据库实用教程SQL Server 2008的一个教学实践,旨在让学生掌握SQL中的数据查询技巧,包括select语句的基本语法、嵌套查询、连接查询、数据汇总、groupby子句、orderby子句的使用。实验通过实际操作对student数据库中的stu_info、course_info和stu_grade数据表进行查询,以提升学生的SQL技能。" 在这个实验中,学生需要完成以下几个方面: 1. Select语句的基本使用 - (1.1) 查询每个同学的所有数据:使用`SELECT * FROM STU_INFO`语句,其中`*`代表选择所有列。 - (1.2) 查询每个同学的学号、姓名和院系:`SELECT STU_ID, NAME, SDEPT FROM STU_INFO`,只选取特定列。 - (1.3) 根据条件查询特定信息:例如`SELECT NAME, SEX, ADDRESS, SDEPT FROM STU_INFO WHERE STU_ID = '2007070103'`,添加了WHERE子句来过滤数据。 - (1.4) AS关键字重命名列名:`SELECT STU_ID AS '学号', NAME AS '姓名', SDEPT AS '院系' FROM STU_INFO WHERE SEX = '女'`。 - (1.5) 使用函数计算年龄:`SELECT NAME AS '姓名', YEAR(GETDATE()) - YEAR(BIRTHDAY) AS '年龄' FROM STU_INFO`,使用了GETDATE()和YEAR()函数。 - (1.6) LIKE操作符进行模糊匹配:`SELECT name, sex, address FROM stu_info WHERE address LIKE '%阳%'`,搜索包含特定字符的行。 - (1.7) 使用比较运算符进行范围查询:`SELECT stu_id FROM stu_grade WHERE course_id = 701 AND grade > 80 AND grade < 90`,根据条件筛选成绩范围。 2. 嵌套查询和连接查询 - 嵌套查询是在一个查询语句中嵌入另一个查询,用于实现更复杂的逻辑。例如,可以使用子查询来找到满足特定条件的记录。 - 连接查询(JOIN)用于合并两个或多个表中的数据,例如`SELECT ... FROM table1 INNER JOIN table2 ON condition`,可以是INNER JOIN、LEFT JOIN、RIGHT JOIN或FULL JOIN等不同类型的连接。 3. 数据汇总 - 使用聚合函数如SUM、AVG、COUNT、MIN和MAX等对数据进行统计分析,例如`SELECT COUNT(*) FROM table`计算行数,或`SELECT AVG(column) FROM table`计算平均值。 4. Groupby子句和OrderBy、Having子句 - GROUP BY语句用于将数据分组,通常与聚合函数一起使用,例如`SELECT column1, SUM(column2) FROM table GROUP BY column1`。 - ORDER BY子句用于排序结果集,例如`SELECT * FROM table ORDER BY column DESC`按降序排列。 - HAVING子句在GROUP BY之后过滤数据,与WHERE类似,但作用于分组后的结果,例如`SELECT column1, AVG(column2) FROM table GROUP BY column1 HAVING AVG(column2) > 50`。 这个实验为学生提供了丰富的实践机会,让他们在实践中熟悉和掌握SQL查询的各个方面,提高其在实际数据库管理中的能力。通过这些练习,学生能够有效地从数据库中提取所需信息,为数据分析和业务决策提供支持。