前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SQL谓词 ALL

SQL谓词 ALL

作者头像
用户7741497
发布2022-05-09 09:58:28
5430
发布2022-05-09 09:58:28
举报
文章被收录于专栏:hml_知识记录hml_知识记录

SQL谓词 ALL

将值与子查询中的所有对应值匹配。

大纲

代码语言:javascript
复制
scalar-expression comparison-operator ALL (subquery)

参数

  • scalar-expression - 将其值与子查询生成的结果集进行比较的标量表达式(最常见的是数据列)。
  • comparison-operator - 以下比较操作符之一:=(等于),<>!=(不等于),<(小于),<=(小于或等于),>(大于),>=(大于或等于),[(包含),或](跟随)。
  • subquery - 一个用括号括起来的子查询,它从单个列返回一个结果集,用于与标量表达式进行比较。

描述

ALL关键字与比较操作符一起创建谓词(量化比较条件),如果标量表达式的值与子查询检索到的所有对应值匹配,则该谓词为真。 ALL谓词将单个标量表达式项与单个子查询SELECT项进行比较。 具有多个选择项的子查询将生成SQLCODE -10错误。

ALL可以在任何可以指定谓词条件的地方使用,如本手册的谓词概述页面所述。

在适用的情况下,系统自动对ALL子查询应用集值子查询优化(SVSO)。

示例

下面的示例选择了Person数据库中小于Employee数据库中所有年龄的年龄:

代码语言:javascript
复制
SELECT DISTINCT Age FROM Sample.Person
WHERE Age < ALL
   (SELECT Age FROM Sample.Employee)
ORDER BY Age

下面的示例选择Person数据库中比Employee数据库中所有名称更长或更短的名称:

代码语言:javascript
复制
SELECT $LENGTH(Name) AS NameLength,Name FROM Sample.Person
WHERE $LENGTH(Name) > ALL
     (SELECT $LENGTH(Name) FROM Sample.Employee)
OR $LENGTH(Name) < ALL
     (SELECT $LENGTH(Name) FROM Sample.Employee)

下面的示例返回密西西比河以西的州的列表,所有州都不包含拥有经理或董事头衔的员工:

代码语言:javascript
复制
SELECT DISTINCT State
FROM Sample.USZipCode
WHERE Longitude < -93
  AND State != ALL
   (SELECT Home_State FROM Sample.Employee
    WHERE Title [ 'Manager' OR Title [ 'Director')
ORDER BY State

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • SQL谓词 ALL
  • 大纲
  • 参数
  • 描述
  • 示例
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档