当前位置 : 主页 > 手机开发 > ROM >

第9讲:结果计算与聚集计算

来源:互联网 收集:自由互联 发布时间:2021-06-10
select子句后不仅可接列名,还可接计算表达式或聚集函数,表明在投影的同时直接进行一些运算。 一、结果计算 1. 语法形式: select 列名 | expr | agfunc(列名) [[, 列名 | expr | agfunc(列名)

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 = ‘数据库‘;
网友评论