注:所有的下划线+斜体语句都是非必须语句
结果计算:
SQL语句:Select 表达式, … from… where…
其中表达式中的值都是列名/常数
示例①:表如下:
执行语句:select 100-Score as Sccc from sc,得到
当然这个列只是计算出来的,并不会加入原本的table中
示例②:求有差额(差额>0)的任意两位教师的薪水差额
Select T1.Tname as TR1, T2.Tname as TR2, T1.Salary – T2.Salary
From Teacher T1, Teacher T2
Where T1.Salary > T2.Salary;
聚集计算:
SQL语句:Select 函数(列名), … from… where…
其中的函数可以是以下内置聚集函数:
- Count():返回数量,允许所有类型
- sum():返回所有值之和,列的类型只能是数值
- avg():返回所有值的平均,列的类型只能是数值
- min() / max():返回最小/最大值,列的类型可以是数值/字符串
注意:聚集函数是不允许用于Where子句中的,Where子句是对每一元组进行条件过滤,而不是对集合进行条件过滤
示例:求计算机系教师的工资总额
Select Sum(Salary) From Teacher T, Dept
Where Dept.Dname = '计算机' and Dept.D# = T.D#;