《使用数据处理函数》
1.去掉串尾空格的函数RTrim() 即串右边的空白空格 .
例:select RTrim(’'ABC ‘’ ) ; 放回结果为ABC;
2.Now() 返回当前的日期和时间。
3.文办处理函数
(1)Upper() 将文本转换为大写。与 Lower() 函数的作用相反。
有结果可以看出,Upper() 函数可将文本转换为大写。
(2)常用的文本处理函数
SOUNDEX需要做进一步的解释。SOUNDEX是一个将任何文 本串转换为描述其语音表示的字母数字模式的算法。SOUNDEX考虑了类似 的发音字符和音节,使得能对串进行发音比较而不是字母比较。虽然 SOUNDEX不是SQL概念,但MySQL(就像多数DBMS一样)都提供对 SOUNDEX的支持。
下面给出一个使用Soundex()函数的例子。customers表中有一个顾 客Coyote Inc.,其联系名为Y.Lee。但如果这是输入错误,此联系名实 际应该是Y.Lie,怎么办?显然,按正确的联系名搜索不会返回数据,如下所示:
4.日期和时间处理函数
常用日期处理函数
例:
5.数值处理函数
《汇总数据》
聚集函数
聚集函数(aggregate function) 运行在行组上,计算和返回单 个值的函数。
1.AVG() 函数
AVG()通过对表中行数计数并计算特定列值之和,求得该列的平均 值。AVG()可用来返回所有列的平均值,也可以用来返回特定列或行的平 均值。
2.count() 函数
COUNT()函数进行计数。可利用COUNT()确定表中行的数目或符合特 定条件的行的数目。 COUNT()函数有两种使用方式。
使用COUNT(*)对表中行的数目进行计数,不管表列中包含的是空 值(NULL)还是非空值。 使用COUNT(column)对特定列中具有值的行进行计数,忽略 NULL值。
3.MAX()函数
MAX()返回指定列中的最大值。MAX()要求指定列名,如下所示:
4.MIN()函数
与MAX函数的作用相反,不再详细叙述。
5.SUM()函数
SUM()用来返回指定列值的和(总计)。
例:
组合聚集函数
目前为止的所有聚集函数例子都只涉及单个函数。但实际上SELECT 语句可根据需要包含多个聚集函数。请看下面的例子:
《分组数据》
1.创建分组
GROUP BY 子句。
看例子:
2.过滤分组
having 子句。where只能用来过滤行,而having还可以用来过滤分组。
3.排序
ORDER BY 子句。默认是升序排列(ASC)。降序时 需关键字DESC指定。
看例子:
回顾以前的知识:
《使用子查询》
SQL还允许创建子查询(subquery),即嵌套在其他查询中的查询。
举例说明什么是子查询:
1.利用子查询进行过滤
现在,假如需要列出订购物品TNT2的所有客户,应该怎样检索?
步骤为:
(1) 检索包含物品TNT2的所有订单的编号。
(2) 检索具有前一步骤列出的订单编号的所有客户的ID。
(3) 检索前一步骤返回的所有客户ID的客户信息。
分开进行检索:
完成要求的检索需要上面的三次操作。而通过子查询嵌套的形式的查询语句为:
2. 作为计算字段使用子查询
使用子查询的另一方法是创建计算字段。假如需要显示customers 表中每个客户的订单总数。订单与相应的客户ID存储在orders表中。 为了执行这个操作,遵循下面的步骤。
(1) 从customers表中检索客户列表。
(2) 对于检索出的每个客户,统计其在orders表中的订单数目。