SQL查询语句中,any和all有什么区别?

any要求你的结果等于任何一个就可以了。
all是所有的

例:
从销货表中挑出订单金额大于“E0013这位业务员在1996/11/10这天所接的任一张订单的金额”的所有订单,并显示相关字段信息
select sale_id, tot_amt
from sales
where tot_amt > any
(select tot_amt from sales
where sale_id=‘e0013‘
and order _date=‘1996/11/10‘)

把ANY换成ALL时,语句表示的意思就是订单金额大于“E0013这位业务员在1996/11/10这天所接的每一张订单的金额”的所有订单

另一个实例:

create table #A(id int)
go
insert into #A values(1)
insert into #A values(2)
insert into #A values(3)
insert into #A values(4)
go

--All:对所有数据都满足条件,整个条件才成立,例如:5大于所有返回的id
select *
from #A
where 5>All(select id from #A)
go

--Any:只要有一条数据满足条件,整个条件成立,例如:3大于1,2
select *
from #A
where 3>any(select id from #A)
go
--Some和Any一样

备注:Any的用法中,在作数字比对时,也可以改用先select subquery的min/max value的方法,某些情况下效率更高

时间: 2024-10-29 19:08:52

SQL查询语句中,any和all有什么区别?的相关文章

Sql 查询语句中的类型转换

1: CAST ( (SalesAgreement.HTPrice / 10000) as decimal(18,2) ) as HTPrice 2: 转换货币如:10,000.00 select '¥'+convert(nvarchar,cast(1343432432434.8 as money),1) Sql 查询语句中的类型转换

关于sql查询语句中的别名

sql语句中给子查询或其他查询类型加别名的时候可能会报错 java.sql.SQLException: 无法转换为内部表示 原因是select返回类型的实体类中没有写该别名 原来的实体类 更改后的实体类

sql查询语句中on和where的区别

数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户. 在使用left jion时,on和where条件的区别如下: on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录. where条件是在临时表生成好后,再对临时表进行过滤的条件.这时已经没有left join的含义(left join是必须返回左边表的记录),条件不为真的就全部过滤掉. 表一:tab1 表二:tab2 两条SQL: select * form ta

sql查询语句中的乱码 -- 前面加N

直接运行sql出出现乱码,在中文字符前加N就能够正常显示了.N的含义就是用nvarchar格式显示.

sql查询语句如何解析成分页查询?

我们公司主要mysql存储数据,因此也封装了比较好用mysql通用方法,然后,我们做大量接口,在处理分页查询接口,没有很好分查询方法.sql查询 语句如何解析成“分页查询”和“总统计”两条语句.可能,很多人在处理“总统计”是这样:“select count(*) from (<sql原查询语句>) ”,而不是把原sql查询语句中columns替换成“count(*)”:相比前者统计查询效率高不高,大家心知肚明.“分页查询”很简单,对于mysql语句就是在原sql查询语句后面加上“limit 数

没错,纯SQL查询语句可以实现神经网络

我们熟知的SQL是一种数据库查询语句,它方便了开发者在大型数据中执行高效的操作.但本文从另一角度嵌套SQL查询语句而构建了一个简单的三层全连接网络,虽然由于语句的嵌套过深而不能高效计算,但仍然是一个非常有意思的实验. 在这篇文章中,我们将纯粹用SQL实现含有一个隐藏层(以及带 ReLU 和 softmax 激活函数)的神经网络.这些神经网络训练的步骤包含前向传播和反向传播,将在 BigQuery 的单个SQL查询语句中实现.当它在 BigQuery 中运行时,实际上我们正在成百上千台服务器上进行

mysql查询语句中使用星号真的慢的要死?

前言 之所以写这篇文章,是源于以前看过的关于sql语句优化的帖子,里面明确提到了在sql语句中不要使用 * 来做查询,就像下面的规则中说的 2.尽量避免使用select *,返回无用的字段会降低查询效率.如下: SELECT * FROM t 优化方式:使用具体的字段代替*,只返回使用到的字段. 但是中国有句姥话叫“尽信书不如无书”,难道在sql查询语句中使用星号就真的慢的要死,难道加索引也不行?带着这些个疑问,我进行了一些测试.结果发现,江湖传说未必真的靠得住.那具体测试情况是咋样的呢?下面且

Java连接MySQL数据库实现用户名密码的验证方法 Java语句中sql查询语句&#39;&#39; &quot;&quot;作用

//方法一,可以验证登录,但方法不实用.package com.swift; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; public class Logi

在MyEclipse中构建SQL查询语句

在MyEclipse中的Visual SQL查询编辑器可用于轻松创建复杂的SQL语句,同时还无需记住其语法.不仅如此,它还利用易于使用的向导来直观地添加表.创建连接.管理组.表达式以及输出命令等等.在本教程中,您将学习到: 打开Visual SQL查询编辑器 将表添加到查询中并创建连接 构建一个表达式 运行该SQL 持续时间:10分钟 没有MyEclipse?立即下载 1. 打开Visual SQL查询编辑器 这里有几种方法可以用来访问Visual SQL查询编辑器. 1.1 从SQL编辑器中打