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的区别的主要内容,如果未能解决你的问题,请参考以下文章