sql中=all和 in的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql中=all和 in的区别相关的知识,希望对你有一定的参考价值。

讲一下这两个的具体含义

=all 当all子句数据集是一个数据的,作用跟=差不多。
当all子句数据集是多条数据是,返回结果集为空。
select * from table1 where t1=all(select 1)
相当于
select * from table1 where t1=1
当子句数据集是多条数据
select * from table1 where t1=all(select 1 union select 2)没有数据集
IN 操作符允许我们在 WHERE 子句中规定多个值
select * from table1 where t1 in (select 1 union select 2)
参考技术A 一种条件判断 就是 等于所有值或者所有判断;

SQL中 ALL 和 ANY 区别的

在select中我们可能会认为all和any应该表达的意思差不多。其实他们的意思完全不一样:

all: 是将后面的内容看成一个整体,如: >all (select age from student where sex = ‘girl‘)上面一句语句表示比所有女生年纪大(比年纪最大的女生的年纪还要大)相当于内容的 and语句

any :它表示其中任意一个条件都可以 >any (select age from student where sex = ‘girl‘)这一句表示的意思是,只要比任意一个女生年纪大就可以了(比年纪最小的女生的年纪大)相当于内容中添加了or 语句。

以上是关于sql中=all和 in的区别的主要内容,如果未能解决你的问题,请参考以下文章

sql中any和all的区别?

mongo_2 $in 和 $all 区别

SQL 中的 UNION 和UNION ALL 有啥区别?

SQL 中的 UNION 和UNION ALL 有啥区别?

SQL中 ALL 和 ANY 区别的

裙带菜与海带的区别 All In One