第十章 创建计算字段
本章介绍如何创建字段,如何从应用程序中使用别名引用它们。
10.1 计算字段
字段 (field): 基本上与列(column)的意思相同,数据库列一般称为列,而术语字段通常用在计算字段的连接上。对客户机而言,计算字段与数据列的返回方式相同。
10.2 拼接字段
- 拼接(concatenate) 将值联结到一起构成单个值。
-
分析 1:concat可以将多个串拼接在一起,上述例子中,连接了vend_name,(, vend_country,)四个元素。上述的拼接的结果实际上是没有名字的,可以使用
AS
为结果设置一个别名,例如:
-
分析2:别名还有其他用途:简化列名,在实际的表名包含不合规字符时进行重命名等等。
10.3 执行算数字段
-
计算字段的另一个常见用途是对检索结果进行算术运算,例
SELECT a_column * b_column AS result from t1
。可以使用的运算符还包括:+
,-
,/
等。 -
在mysql中可以直接利用select 语句来检测计算结果,例如:
SELECT Now(); SELECT 2*3; SELECT Rtrim('abv');
等。
第十一章 使用数据处理函数
本章介绍什么是函数,mysql支持何种函数,以及如何使用函数。
11.1 函数
与其他大多数计算机语言一样,SQL语言提供了函数来处理数据,但是需要注意的是各DBMS所提供的函数各有特点,即使是相同功能的函数,使用方式和返回数据的格式也不一定相同。因此函数并不具备高可移植性。mysql随着版本的迭代,支持的函数在不断丰富。
- 在客户端命令行中,可以使用
HELP FUNCTIONS
来查看当前版本支持哪些函数。
11.2 使用函数
大多数SQL支持一下几个类型的函数:
- 文本处理函数:对字符本身进行处理
-
日期与时间处理函数:日期与时间采用特殊的数据格式进行存储以便快速进行排序与过滤,以及节省物理存储空间。常用的日期与时间处理函数如下图所示:
-
注意:不同格式的日期时间不能直接比较,例如
Now()
函数返回的内容包括日期和时间,它不能与'2018-08-26'
直接比较,后者属于一个日期,不包括时间。应该用Date(Now())
与'2018-08-26'
比较。 -
数值处理函数:一般用于代数,三角或几何运算,这是DBMS最一致的函数。常用函数如下图所示:
第十二章:汇总数据
本章介绍什么是聚集函数(或译为聚合函数),如何利用它来汇总数据。
12.1 聚集函数
聚集函数(aggregate function):运行在行组上,计算和返回单个值的函数。
- AVG函数:计算表中相关的所有列的平均值
- COUNT函数:用于统计表中行的数目或符合要求的行的数目。其中COUNT(*)可以将空行统计在内,COUNT(column)会自动过滤值为NULL的行。
- MAX函数:返回列中的最大值。
- MIN函数:返回列中的最小值。
- SUM函数:返回指定列值的总和。
12.2 聚集不同的值
对上述的5个聚集函数,默认是对所有行进行操作,可以通过指定DISTINCT关键字的方式过滤重复行。
12.3 组合聚集函数
SELECT 语句可以根据需要包含多个聚集函数:
网友评论