目录
1.常用函数
1.字符串函数
2.时间日期函数
3.聚合函数
4.数学函数
2.分布查询
3.子查询基础
1.简单子查询
1.常用函数
在程序开发过程中,除了简单的数据查询,还有基于已数据进行数据的统计分析计算等需求。因此,在SQL中将一些常用的数据处理操作封装起来,作为函数提供给程序员使用。这大提高了程序员的开发效率。本次将介绍在MySQL中支持常用函数。
1.字符串函数
在数据库开发过程中,经常需要对字符串进行各种处理,MySQL提供了丰富的字符串处理函数提供给程序使用。MySQL中常用的字符串处理函数如下表所示。
2.时间日期函数
在实际的业务中 ,经常会涉及时间日期的处理。例如,在hospital数据库中,prescription表的examDate列记录了检查时间此处在开发系统时就需要用到时间日期函数获取当前日期。MySQL中常用的日期函数。
3.聚合函数
聚合函数用来对已有数据进行汇总,常见的有求和、求均值、最大值和最小值等。MySQL中常用的聚合函数。
4.数学函数
在一些场景下,在开发过程中还需要进行数值运算。MySQL中常用的数学函数。
2.分布查询
在MySQL中,指定查询结果返回条数的语法与SQL Server不同。MySQL没有top关键字,而是使用LIMIT子句实现指定返回查询结果条数的目的。语法格式如下所示。
SELECT <字段名列表> FROM <表名或视图> [WHERE<查询条件>] [GROUP BY<分组的字段名>]
[ORDER BY <排序的列名>[ASC或DESC]] [LTMIT [位置偏移量,]行数];
其中:
- 位置位移量表示从结果集的第几条数据开始选取(记录的偏移位置从0开始计数,表示第1条记录、第2条记录的偏移位置是1,以此类推)。位置偏移量参数为可选参数,省略时,从第1条记录开始选取。
- 行数指以偏移位置为起点,选取记录的条数。
在实际的开发过程中,LIMIT子句常用来实现数据的分页查询,比较典型的例子是百度搜索时搜索结果的分页。从这里可以看出,分页的意思是,从一批结果数据中,规定每页显示数据的条数,从从结果集的某一位置截取一页数据,在开发实践中,LIMIT子句经常和ORDER BY子句一起使用,即先对查询结果进行排序,然后根据LIMIT子句的参数返回指定的数据。
3.子查询基础
1.简单子查询
什么是子查询呢?使用子查询能解决什么样的问题呢?我们首先看看下面的内容。
从升级后的代码中可以看出两条查询语句被合并成了一条语句。即内层语句是外层语句的子查询,子查询在WHERE子句中的语法格式如下。
SELECT ······ FROM 表1 WHERE 字段1 比较运算符 (子查询);
其中:
- 子查询语句必须放在括号中,括号外面的查询被称为父查询。
- 比较运算符包括>、>=、=、<、<=、子查询和比较运算符联合使用时必须保证子查询的结果不能多于一个。
- 先执行求出子查询的值,再执行父查询,返回最后的结果。
- 由函数运算获得的计算结果不能直接用来WHERE子句中,使用子查询可以将函数运算结果作为父查询的条件使用。
在别外通常会用在表名或字段上。以给表起别名为例,主要有以下两种方法。
- 使用AS关键字,符合ANSI标准。语法格式如下。
-
SELECT 字段列表 FROM 表名 AS 表的别名;
- 使用空格,这是较为简便的方法。语法格式如下。
-
SELECT 字段列表 FROM 表名 表的别名;