SQLserver中的any和all运算符的用法

 更新时间:2023年01月09日 08:27:53   作者:打不完的代码  
本文主要介绍了SQL server 中的any和all运算符,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

一,SQL Server Any 运算符

Any 是一个逻辑运算符 ,它将值与子查询返回的一组进行比较。any运算符必须要结合比较运算符使用,

>,>=,<,<=,=,<>开头,后面就是子查询

where 比较者 >any(子查询)

如果子查询不返回如何行,则条件计算结果为false,就是返回空的意思,进行不了比较。

如果子查询不返回零行,下面说明了any运算符与每个比较运算符一起使用的含义:

条件

含义

c = ANY (…)

c列中的值必须与集合中的一个或多个值匹配,以评估为true。

c != ANY (…)

c列中的值不能与集合中的一个或多个值匹配以评估为true。

c > ANY (…)

c列中的值必须大于要评估为true的集合中的最小值。

c < ANY (…)

c列中的值必须小于要评估为true的集合中的最大值。

c >= ANY (…)

c列中的值必须大于或等于要评估为true的集合中的最小值。

c <= ANY (…)

c列中的值必须小于或等于要评估为true的集合中的最大值。

示例:--29、查询选修编号为“3-105“课程且成绩至少高于选修编号为“3-245”的同学的Cno、Sno和Degree,并按Degree从高到低次序排序。

二,SQL Server All 运算符

All是一个逻辑运算符,它将单个值与子查询返回的单例值进行比较。

all运算符必须要结合比较运算符使用,>,>=,<,<=,=,<>开头,后面就是子查询

where 比较者 >all(子查询)

注意:如果子查询不返回任何行。则where子句中的条件始终未true,假设子查询返回一行或多行,下表

说明名了ALL运算符的含义:

条件

含义

c > ALL(…)

c列中的值必须大于要评估为true的集合中的最大值。

c >= ALL(…)

c列中的值必须大于或等于要评估为true的集合中的最大值。

c < ALL(…)

c列中的值必须小于要评估为true的集合中的最小值。

c <= ALL(…)

c列中的值必须小于或等于要评估为true的集合中的最小值。

c <> ALL(…)

c列中的值不得等于要评估为true的集合中的任何值。

c = ALL(…)

c列中的值必须等于要评估为true的集合中的任何值。

示例:--30、查询选修编号为“3-105”课程且成绩高于选修编号为“3-245”课程的同学的Cno、Sno,Degree.

总结:any和all的区别

他们又被称为多行子查询,一般是用于查询比较返回多行的数据,这两个运算符都是用于子查询,

any是任意,all是任何。这个任意和任何怎么理解呢?

好比如上面any和all的两个例子,都是大于号,any要大于子查询里面的最小一个,因为任一条数据满足外层查询都会被返回。all要大于里面最大的一个,任何就是包括集合里所有的数据。这就是我所理解的any和all。

到此这篇关于SQLserver中的any和all运算符的用法的文章就介绍到这了,更多相关SQLserver any和all运算符内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • sqlserver CONVERT()函数用法小结

    sqlserver CONVERT()函数用法小结

    文章分析总结了关于CONVERT()函数在操作日期时的一些常见的用法分析下面来看看
    2012-09-09
  • sqlserver 不重复的随机数

    sqlserver 不重复的随机数

    MSSQL有一个函数CHAR()是将int(0-255) ASCII代码转换为字符。那我们可以使用下面MS SQL语句,可以随机生成小写、大写字母,特殊字符和数字
    2012-01-01
  • SQL Server 存储过程解析

    SQL Server 存储过程解析

    微软的SQL Server的存储过程机制能够通过对Transact-SQL语句进行组合而大大地简化了数据库开发过程。
    2009-03-03
  • 批处理 动态sql

    批处理 动态sql

    批处理 动态sql
    2009-06-06
  • SQL语句练习实例之七 剔除不需要的记录行

    SQL语句练习实例之七 剔除不需要的记录行

    相信大家肯定经常会把数据导入到数据库中,但是可能会有些记录行的所有列的数据是null,这为null的数据是我们不需要
    2011-10-10
  • sqlserver 多库查询 sp_addlinkedserver使用方法(添加链接服务器)

    sqlserver 多库查询 sp_addlinkedserver使用方法(添加链接服务器)

    mssql在使用多库查询的时候会用到链接服务器,以下为链接服务器的添加方法,添加完了即可实现任意改服务器的多库查询了
    2011-08-08
  • SQL Server Transact-SQL编程详解

    SQL Server Transact-SQL编程详解

    这篇文章主要为大家介绍了SQL Server Transact-SQL编程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-01-01
  • 高效的SQLSERVER分页查询(推荐)

    高效的SQLSERVER分页查询(推荐)

    Sqlserver数据库分页查询一直是Sqlserver的短板,闲来无事,想出几种方法,假设有表ARTICLE,字段ID、YEAR...(其他省略),数据53210条(客户真实数据,量不大),分页查询每页30条,查询第1500页(即第45001-45030条数据),字段ID聚集索引,YEAR无索引,Sqlserver版本:2008R2
    2013-04-04
  • SQL Server复制删除发布时遇到错误18752的问题及解决方法

    SQL Server复制删除发布时遇到错误18752的问题及解决方法

    朋友反馈他无法删除一台SQL Server数据库上的发布,具体情况为删除一个SQL Server Replication的发布时,遇到这样的错误问题如何解决呢,下面小编给大家分享SQL Server复制删除发布时遇到错误18752的问题及解决方法,感兴趣的朋友一起看看吧
    2024-01-01
  • Sqlserver 高并发和大数据存储方案

    Sqlserver 高并发和大数据存储方案

    本文主要介绍了Sqlserver 高并发和大数据存储方案。具有一定的参考价值,下面跟着小编一起来看下吧
    2017-01-01

最新评论