第9讲:结果计算与聚集计算
Posted xzxl
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第9讲:结果计算与聚集计算相关的知识,希望对你有一定的参考价值。
select子句后不仅可接列名,还可接计算表达式或聚集函数,表明在投影的同时直接进行一些运算。
一、结果计算
1. 语法形式:select 列名 | expr | agfunc(列名) [[, 列名 | expr | agfunc(列名)] ... ] from 表名1 [, 表名2 ... ] [where 检索条件];
①expr:常量,列名,由常量、列名、特殊函数及算术运算符构成的算术运算式
②agfunc:聚集函数,如求平均、求和等
【示例1】求有差额(差额>0)的任意两位教师的薪水差额:
- select T1.Tname as TR1, T2.Tname as TR2, T1.Salary - T2.Salary from Teacher T1, Teacher T2 where T1.Salary > T2.Salary;
【示例2】依据学生年龄求学生的出生年份,当前是2019年:
- select S.S#, S.Sname, 2019 - S.Sage + 1 as Syear from Student S;
二、利用聚集函数进行统计计算
1. SQL提供了五个作用在简单列值集合上的内置聚集函数
聚集函数 | 功能描述 |
count | (关于某列)求个数 |
sum | (关于某列)求和 |
avg | (关于某列)求平均 |
max | (关于某列)求最大值 |
min | (关于某列)求最小值 |
【示例1】求教师工资的总额:
- select sum(Salary) from Teacher;
【示例2】求计算机系教师工资的总额:
- select sum(Salary) from Teacher T, Dept where T.D# = Dept.D# and Dept.Dname = ‘计算机‘;
【示例3】求数据库课程的平均成绩:
- select avg(Score) from SC, Course C where SC.C# = C.C# and C.Cname = ‘数据库‘;
以上是关于第9讲:结果计算与聚集计算的主要内容,如果未能解决你的问题,请参考以下文章