zoukankan      html  css  js  c++  java
  • 结果计算与聚集计算

    结果计算

    Select-From-Where语句中,Select子句后面不仅可是列名,而且可是一些计算表达式聚集函数,表明在投影的同时直接进行一些运算

    SELECT 列名|expr|agfunc(列名)[[,列名|expr|agfunc(列名)]...]
    FROM 表名1 [,表名2...]
    [WHERE 检索条件];
    
    • expr可以是常量、列名、或由常量、列名、特殊函数及算数运算符构成的算术运算式。特殊函数的使用需结合各自DBMS的说明谁
    • agfunc()是一些聚集函数

    示例1 求有差额(差额>0)的任意两位教师的金钱差额
    表结构

    SELECT * FROM Teacher
    +----------------+-----------------+
    | name           | money           |
    +----------------+-----------------+
    | 张老师         |            1000 |
    | 李老师         |            1000 |
    | 王老师         |            1200 |
    | 赵老师         |            1200 |
    +----------------+-----------------+
    

    查询语句

    SELECT T1.name as T1, T2.name as T2, T1.money-T2.money as money_dif
    FROM Teacher T1, Teacher T2
    Where T1.money > T2.money
    +--------------+--------------+---------------------+
    | T1           | T2           | money_dif           |
    +--------------+--------------+---------------------+
    | 王老师       | 张老师       | 200                 |
    | 赵老师       | 张老师       | 200                 |
    | 王老师       | 李老师       | 200                 |
    | 赵老师       | 李老师       | 200                 |
    +--------------+--------------+---------------------+
    

    这里T1.money-T2.money就是一个结果计算表达式


    示例2 依据学生年龄求出学生的出生年份,当前是2019年
    表结构

    SELECT * FROM Student
    +----------------+---------------+
    | name           | age           |
    +----------------+---------------+
    | Tom            |            19 |
    | David          |            20 |
    +----------------+---------------+
    

    查询

    SELECT name, 2019-age as Birth
    FROM Student
    +----------------+-----------------+
    | name           | Birth           |
    +----------------+-----------------+
    | Tom            | 2000            |
    | David          | 1999            |
    +----------------+-----------------+
    

    这里,2019-age是一个结果计算表达式

    聚集函数

    SQL 提供了五个在简单列值集合上的内置聚集函数agfunc,分别是
    COUNTSUMAVGMAXMIN

    聚集函数名 参数类型 返回类型 描述
    COUNT 任何类型 数字 计算个数
    SUM 数字 数字 计算参数的和
    AVG 数字 数字 计算参数的平均值
    MAX 字符或数字 和参数一样 最大值
    MIN 字符或数字 和参数一样 最小值

    示例: 求所有教师的工资总额

    SELECT SUM(money)
    FROM Teacher
    +----------------------+
    | SUM(money)           |
    +----------------------+
    | 4400                 |
    +----------------------+
    
  • 相关阅读:
    Delphi语法
    orcad中注意的事情
    Express web框架
    Docker
    Node.JS
    再次 WebAssembly 技术探讨
    WebAssembly 浏览器中运行c/c++模块
    Http 服务 简单示例
    CentOS7 开放服务端口
    Go linux 实践4
  • 原文地址:https://www.cnblogs.com/velscode/p/10556794.html
Copyright © 2011-2022 走看看