SQL高级查询技巧:聚合、组合与分组

需积分: 10 2 下载量 111 浏览量 更新于2024-08-01 收藏 2.03MB PDF 举报
本文档主要介绍了SQL高级查询技术,涵盖了聚合函数、组合查询以及在联接查询中的应用。首先,作者提到了SQL(Structured Query Language)的基础,这是一种用于管理关系数据库的标准语言。SQL查询通常包括SELECT语句,用于从数据库表中检索数据。 1. **聚合函数查询**:部分代码展示了如何使用COUNT(*)函数,这是一个常用的聚合函数,用于计算指定列中的非空值数量。例如,`Select'Ӭ言行'asㄝ㑻,Count(*)䇒⿟䮼᭄FromStudScoreInfo`部分,查询了学生分数表中特定学生(StudNo='20010505001')分数达到90分以上的记录,并返回相应的计数结果。 2. **组合查询**:`UNION`关键字用于合并两个或多个`SELECT`语句的结果集,但排除重复的行。如`UNION Sans՟`示例中,首先筛选出学生成绩在60到70分之间的学生,然后添加一个子查询,选择成绩在90到100分的学生,将两者的结果合并。另一种形式的组合查询是`UNION ALL`,它不删除重复行,如`UNION [ALL]`和`UNION Sans՟`部分。 3. **联接查询**:在SQL中,`JOIN`操作用于连接两个或多个表,根据某些列的匹配条件。文档中虽然没有明确展示JOIN的例子,但`Select*FromStudScoreInfoWhereStudScore>=60And StudScore<=70 UnionAll Select*FromStudScoreInfoWhereStudScore>=90And StudScore<=100`可以视为一个简单的内连接查询,通过`StudScore`列将两个`StudScoreInfo`表联接起来。 4. **逻辑运算符在查询中的应用**:`OR`关键字在`Select*FromStudScoreInfoWhereStudScore>=90And StudScore<=100orStudScore>=60AndStudScore<=70`中被用来定义更复杂的查询条件,表示成绩既在90-100分范围内,又在60-70分范围内的学生。 5. **性别过滤**:`SelectStudNameFromStudInfoWhereStudSex=‘⬋’`展示了如何基于特定属性(如性别)进行筛选,这里是查询所有女性学生的姓名。 6. **别名和计算列**:在查询结果集中,有时会使用别名给查询结果列命名,如`'Ӭ言行'asㄝ㑻`,以及使用`Count(*)`来创建计算列,显示特定条件下的计数。 这篇文档提供了对SQL高级查询技术的深入理解,包括如何使用聚合函数、组合查询和联接查询,以及如何根据需要构造复杂的查询条件,以便获取和分析数据库中的信息。