Any、All与&gt、&lt、=、组合和In的意义、用法的区别

SELECT * FROM ORDERS

WHERE EXISTS(SELECT *FORM ORDERS

WHERE NAME#='SB')

这样会返回orders里面所有的值,而不是只有NAME#='SB'的值

改成

SELECT * FROM ORDERS O1

WHERE EXISTS(SELECT *FORM ORDERS O2

WHERE O1.NAME# = O2.NAME# and O2.NAME# = 'SB') 即可得到NAME#='SB'的记录.

可以用 ALL 或 ANY 关键字修改引入子查询的比较运算符。SOME 是与 ANY 等效的 SQL-92 标准。

通过修改的比较运算符引入的子查询返回零个值或多个值的列表,并且可以包括 GROUP BY 或 HAVING 子句。这些子查询可以用 EXISTS 重新表述。

以 &gt 比较运算符为例,&gtALL 表示大于每一个值。换句话说,它表示大于最大值。例如,&gtALL (1, 2, 3) 表示大于 3。&gtANY 表示至少大于一个值,即大于最小值。因此 &gtANY (1, 2, 3) 表示大于 1。

扩充:&ltall 表示小于集合或列表中所有值,也就是等价表示为小于最小值;

&ltany 表示小于集合或列表中任何值,也就是等价表示小于为最大值;

若要使带有 &gtALL 的子查询中的行满足外部查询中指定的条件,引入子查询的列中的值必须大于子查询返回的值列表中的每个值。

同样,&gtANY 表示要使某一行满足外部查询中指定的条件,引入子查询的列中的值必须至少大于子查询返回的值列表中的一个(最小)值。

下面的查询提供一个由 ANY 修改的比较运算符引入的子查询的示例。它查找定价高于或等于任何产品子类别的最高定价的产品。

代码:

USE AdventureWorks;

GO

SELECT Name

FROM Production.Product

WHERE ListPrice &gt= ANY

(SELECT MAX (ListPrice)

FROM Production.Product

GROUP BY ProductSubcategoryID)

对于每个产品子类别,内部查询查找最高定价。外部查询查看所有这些值,并确定定价高于或等于任何产品子类别的最高定价的单个产品。如果 ANY 更改为 ALL,查询将只返回定价高于或等于内部查询返回的所有定价的那些产品。

如果子查询不返回任何值,那么整个查询将不会返回任何值。

=ANY 运算符与 IN 等效。例如,若要查找 Adventure Works Cycles 生产的所有轮子产品的名称,可以使用 IN 或 =ANY。

代码:

--Using =ANY

USE AdventureWorks;

GO

SELECT Name

FROM Production.Product

WHERE ProductSubcategoryID =ANY

(SELECT ProductSubcategoryID

FROM Production.ProductSubcategory

WHERE Name = 'Wheels')

--Using IN

USE AdventureWorks;

GO

SELECT Name

FROM Production.Product

WHERE ProductSubcategoryID IN

(SELECT ProductSubcategoryID

FROM Production.ProductSubcategory

WHERE Name = 'Wheels')

下面是任一查询的结果集:

Name

--------------------------------------------------

LL Mountain Front Wheel

ML Mountain Front Wheel

HL Mountain F

all any 或 此运算符后面必须跟_any和all组合运算符用法区别相关推荐

  1. php比较运算符案列,PHP实例:PHP比较运算符的详细介绍

    <PHP实例:PHP比较运算符的详细介绍>要点: 本文介绍了PHP实例:PHP比较运算符的详细介绍,希望对您有用.如果有疑问,可以联系我们. 比拟运算符种类 PHP实战如同它们名称所暗示的 ...

  2. C 语言 运算符怎么使用,详解C++编程中运算符的使用

    C++的运算符十分丰富,使得C++的运算十分灵活方便.例如把赋值号(=)也作为运算符处理,这样,a=b=c=4就是合法的表达式,这是与其他语言不同的.C++提供了以下运算符: 算术运算符 +(加)  ...

  3. c语言三元运算符_了解C / C ++中的三元运算符

    c语言三元运算符 In this article, we'll take a look at understanding the ternary operator in C / C++. 在本文中,我 ...

  4. C Primer Plus(6) 中文版 第5章 运算符、表达式和语句 5.2 基本运算符

    5.2 基本运算符 C用运算符(operator)表示算术运算. 基本运算的运算符:=.+.-.*./(C没有指数运算符.不过,C的标准数学库提供了一个pow()函数用于指数运算). 5.2.1 赋值 ...

  5. C语言中运算符的优先级问题(如何巧妙记忆运算符的优先级顺序)

    文章目录 C语言中的运算符 C语言中运算符的优先级 帮助记忆优先级的方法 先粗分 再细分 最后吃透 因不明确优先级而造成的常见问题 C语言中的运算符 C语言中的运算符说多也多,说不多也不多,包括以下运 ...

  6. c语言运算符优先级 从右到左,c语言运算符优先级,结合性(左/右结合详解)

    重新翻了遍c语言,觉得对c语言运算符结合性有必要提一下,毕竟去年我自己刚学c语言的时候,就没搞明白结合性的问题. 什么是左结合?什么是右结合?它们是干嘛用的?它们是什么时候用的? 本文将围绕这几个问题 ...

  7. Java运算符使用、单目、二目运算符、数据类型精度运算问题等

    前言:   Java提供了丰富的运算符,例如算术运算符.关系运算符.逻辑运算符.位运算符等:      其中又分有单目运算符和二目运算符: 一.单目运算符:只对单独一个操作元(变量)进行操作: --- ...

  8. 【笔记】Java的运算符(赋值运算符号、一元运算符、算术运算符、关系运算符、自增与自减运算符、逻辑运算符、括号运算符、位运算符、三元(三目)运算符)、表达式与语句:简洁表达式

    文章目录 一.运算符 1.赋值运算符号 2.一元运算符 3.算术运算符 4.关系运算符 5.自增与自减运算符 6.逻辑运算符 7.括号运算符 8.位运算符 左移位: 右移位: 9.三元(三目)运算符 ...

  9. c语言的运算符分类ppt,c语言的数据类型、运算符与表达式.ppt

    c语言的数据类型.运算符与表达式.ppt 第3章数据类型.运算符与表达式,预备知识 数据类型 常量与变量 不同类型数据间的转换 运算符和表达式3.0 预备知识 计算机中数的表示及进制转换 数码.基与权 ...

最新文章

  1. python 删除代码中的注释,正则匹配
  2. mysql5.0修改字符集,查看mysql字符集及修改表结构
  3. Android中实现照片滑动时左右进出的动画的xml代码
  4. 蓝桥杯 每周一练 第一周(3n+1问题)
  5. 转载-使用 Feed4JUnit 进行数据与代码分离的 Java 单元测试
  6. LeetCode 45. 跳跃游戏 II(贪心/BFS,难)
  7. [转载] numpy逆 python_Python之Numpy详细教程,附Python最新学习资料
  8. Java HTML转换为图片
  9. Windows11系统引导修复(因EasyBCD误删win11启动)
  10. DTOJ #5981
  11. 如何将WPS转换成office,WPS转office的转换方法
  12. 蓝桥杯矩形切割python求解
  13. Java高性能系列-(一)VM生命周期
  14. 最速下降法 c 语言程序,工程優化方法中的“最速下降法”和“DFP擬牛頓法”的 C 語言實現...
  15. 计算机毕业设计Java大学生学籍管理系统(源码+系统+mysql数据库+lw文档)
  16. 自建商城或会员系统如何对接在线客服咨询系统,例如商城系统、物流订单系统接入在线客服功能...
  17. GA-B75M-D3V REV:1.1
  18. 6-4 多线程编程:使用多线程同步与通信,模拟实现售票系统的售票和退票过程。 (20 分)
  19. 纺织工业链:从棉花到裁缝,服装制作的一切流程
  20. android 动画结束停留,hi3716c-android4.0.3SDK在开机动画片阶段停留很长时间并黑屏不进入launcher原因分析...

热门文章

  1. Mysql 数据库默认值选 ‘‘“ 、Null和Empty String的区别
  2. 计算机学业水平考试答题卡,高一年级期末信息技术考试(含答题卡)
  3. 新手入门教程-------Spring Boot中集成RabbitMQ
  4. linux 网络路径中网络协议栈有几种,linux网络路径中网络协议栈有几种
  5. java中unicode显示乱码_Java 已知Java系统编码是GBK,jtextarea从一编码为Unicode的文本中读取数据,出现乱码,怎么正常显示?...
  6. matlab 文件之间相互调用实例
  7. (待定系数法)A/B
  8. haddler处理队列 netty_Netty堆外内存泄漏排查,这一篇全讲清楚了
  9. java jar 配置文件路径_java jar 配置文件的相对路径问题
  10. 学校校车运营各项安全管理制度_学校校车接送安全管理制度(通用3篇)