摘要:
与标量子查询不同,列值子查询可以返回一个多行多列的结果集。这样的子查询又被称为表子查询,表子查询可以看作一个临时的表,表子查询可以用在SELECT 语句的FROM子句中、INSERT语句、连接、IN 子句等很多场合。 首先来看一个在FROM子句中使用的最简单的表子查询。SQL语句如下: 这里将T_R 阅读全文
摘要:
我们讲到可以将标量子查询当成SELECT列表中的一个列,唯一的约束就是子查询的返回值必须只有一行记录,而且只能有一个列。看完上章的例子有的读者可能认为标量子查询只能返回唯一的值,其实标量子查询完全可以返回随当前查询记录而变化的值。比如下面的SQL语句可以清楚的说明这一点: 这个SELECT语句首先检 阅读全文
摘要:
单值子查询的语法和普通的SELECT语句没有什么不同,唯一的限制就是子查询的返回值必须只有一行记录,而且只能有一个列。这样的子查询又被称为标量子查询,标量子查询可以用在SELECT语句的列表中、表达式中、WHERE 语句中等很多场合。 首先来看一个在SELECT语句列表中使用的最简单的标量子查询。S 阅读全文
摘要:
SQL语句允许将一个查询语句做为一个结果集供其他SQL语句使用,就像使用普通的表一样,被当作结果集的查询语句被称为子查询。所有可以使用表的地方几乎都可以使用子查询来代替,比如SELECT FROM T 中就可以用子查询来代替表T,比如SELECTFROM(SELECT FROM T2 where F 阅读全文
摘要:
前边我们讲解了一些常用的函数,这些函数不是在各个主流数据库系统中有着相同的名称和用法,就是在各个主流数据库系统中有等价的实现,这些函数可以基本满足我们大部分需求。不过在各个主流数据库系统还提供了一些自身独有的函数,这些函数在其他的数据库系统中一般都没有等价的实现,使用这些函数以后会给系统的跨数据库移 阅读全文
摘要:
日期时间类型的数据也是经常用到的,比如员工出生日期、结账日期、入库日期等等,而且经常需要对这些数据进行处理,比如检索所有超过保质期的商品、将结账日期向后延迟3天、检索所有每个月18日的入库记录,进行这些处理就需要使用日期时间函数。SQL中提供了丰富的日期时间函数用于完成这些功能,本节将对这些日期时间 阅读全文
摘要:
除了数学函数、字符串函数、日期函数之外,数据库中还有其他一些函数,比如进行类型转换的函数、进行非空逻辑判断的函数等,这些函数也是非常重要的,因此在本节中我们将对这些函数进行介绍。 类型转换 在使用SQL语句的时候,我们使用的数据的类型不一定符合函数或者运算符的需要,比如函数需要整数类型的数据而我们使 阅读全文
摘要:
除了数值类型的数据,字符串类型的数据也是数据库系统中经常用到的数据类型,比如用户的密码、电子邮箱地址、证件号码等都是以字符串类型保存在数据库中的。我们经常需要对这些数据进行一些处理,比如截取身份证号码前5位、将电子邮箱地址全部改为大写、去掉用户名中的空格,SQL 中提供了丰富的字符串函数用于完成这些 阅读全文
摘要:
SQL中可供使用的函数是非常多的,这些函数的功能包括转换字符串大小写、求一个数的对数、计算两个日期之间的天数间隔等,数量的掌握这些函数将能够帮助我们更快的完成业务功能。本章将讲解这些函数的使用,并且对它们在不同数据库系统中的差异性进行比较。为了更容易的运行本章中的例子,必须首先创建所需要的数据表,因 阅读全文
摘要:
SQL标准中只规定了4个数学函数,不过很多主流的数据库系统都提供了大量常用的数学函数,而且几乎所有的数据库系统都对它们提供了支持,因此这里我们有必要对这些函数进行详细的介绍。 求绝对值 ABS()函数用来返回一个数值的绝对值。该函数接受一个参数,这个参数为待求绝对值的表达式。执行下面的SQL语句: 阅读全文