VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 数据库 > sql语句 >
  • sql语句大全之比较运算符

比较运算符

sql语句大全

子查询可以由一个比较运算符和一些关键字引入,查询结果返回一个值列表。使用比较运算符的子查询的基本语法格式为:
SELECT select_list
FROM table_source
WHERE expression operator [ANY|ALL|SOME] (subquery)
Operator表示比较运算符,ANY、ALL和SOME是SQL支持的在子查询中进行比较的关键字。ANY和SOME表示外围查询限定条件与子查询返回值进行比较,如果外围查询中有任意多个数据满足比较条件,则全部返回;使用ALL关键字表示外围查询限定条件与子查询返回值进行比较,外围子查询返回结果必须全部满足比较条件。
也许上面的语句过于抽象,可以通过下面的实例语句进行加深理解:
USE 网店购物系统
SELECT 会员编号,会员名称,会员地址 FROM 注册会员
WHERE 会员编号 <= ANY
(SELECT 会员编号 FROM
订单信息 WHERE 商品价格 >800)
子查询中返回了所购买商品的商品价格大于800的会员编号,在外围查询中使用ANY关键字,因此可知,只要外围查询中会员编号小于于子查询中返回结果中存在的任意一个会员编号即可满足查询条件,则该项数据被返回。
首先来看子查询返回结果,可以选中子查询并执行子查询语句,得到如图5-37所示的结果。

图5-37  使用ANY执行结果
可以看到,子查询结果中包含的会员编号为2010001~2010007。也就是说,外围查询“注册会员”表中只要大于子查询结果中任意一项即可满足查询条件,由此可知返回结果的最大值为2010007(子查询最大值为2010007)。
再来看使用ALL关键字,如下面语句所示:
USE 网店购物系统
SELECT 会员编号,会员名称,会员地址 FROM 注册会员
WHERE 会员编号 < ALL
(SELECT 会员编号 FROM
订单信息 WHERE 商品价格 >800)
上述语句与前面实例中基本相同,只是将ANY换为ALL。由于子查询结果中会员编号最小值为2010006,因此可以推断返回结果中会员编号最大值为2010005。执行上面语句,可以得到如图5-38所示的结果。

图5-38  使用ALL执行结果

相关教程