文档介绍
第04章SQLServer与数据查询 查询结果排序 使用ORDER BY 字句以及DESC或ASC命令关键字。 例 查询选修了C03号课程的学生的学号(SNo)和成绩(Grade),并按成绩降序排列。 SELECT SNo,Grade FROM Reoprts WHERE CNo='C03' ORDER BY Grade DESC 对于空值,若按升序排,含空值的元组最先显示。若按降序排,空值的元组最后显示。 使用集函数 在SELECT语句中使用COUNT()、AVG等集函数 例 计算选修C01号课程的学生平均成绩。 SELECT AVG(Grade) FROM SC WHERE CNo='C01' 注意,成绩为空值的学生不参与计算。 查询结果分组 在SELECT语句中使用GROUP BY字句将查询结果表按照某一列或多列的值分组,使其列值相等的为一组。还可以用HAVING短语指定结果组满足的条件。 例 查询选修了3门或3门以上课程的学生学号(SNo)。 SELECT SNo FROM SC GROUP BY SNo HAVING COUNT(*)>=3 GROUP BY子句先按SNo进行分组,再用集函数COUNT对每一组计数。HAVING指定选择组的条件,只有满足条件(COUNT(*)>=3,表示选课数超过3门)的组才被选出来。 4.4 复杂查询 4.4.1 连接查询 4.4.2 嵌套查询 4.4.3 集合查询 4.4.1 连接查询 ? 不同表之间的连接查询 ? 自身连接查询 ? 外连接查询 不同表之间的连接查询 一般是在WHERE字句中WHERE子句中将两(多)个表的属性列名,作为连接条件实现,其格式通常为: [<表名1>.]<列名1 > <比较运算符> [<表名2>.]&l