oracle的写法 047的书上就这么一小段 Operator Meaning IN Equal to any member in the list ANY Compare value to each value returned by the subquery ALL Compare value to every value returned by the subquery 给个例子吧,验证=all并不等价于in select 2 as c1 from dual where 1 in (1,2) select 2 as c1 from dual where 1 =all (1,2)
嗨 原来是oracle的 我勒个去
sql server的写法: select * from A where c1 = all(select 1) --()里面要求是个子查询
是我的知识不够呢还是怎么了,我不知道lz的意思
in只要其中之一满足
047的书上就这么一小段
Operator Meaning
IN Equal to any member in the list
ANY Compare value to each value returned by the subquery
ALL Compare value to every value returned by the subquery 给个例子吧,验证=all并不等价于in
select 2 as c1 from dual where 1 in (1,2)
select 2 as c1 from dual where 1 =all (1,2)
嗨 原来是oracle的 我勒个去
select * from A where c1 = all(select 1) --()里面要求是个子查询
some的 例子可以看懂,但=all这真心不知道怎么应用
ALL 要求 scalar_expression 与子查询返回的每个值进行比较时都应满足比较条件。 例如,如果子查询返回的值为 2 和 3,则对于值为 2 的 scalar_expression,scalar_expression <= ALL(子查询)的计算结果为 TRUE。 如果子查询返回的值为 2 和 3,则 scalar_expression = ALL(子查询)的计算结果将为 FALSE,因为子查询的某些值(等于 3 的值)不满足表达式的条件。
ALL 要求 scalar_expression 与子查询返回的每个值进行比较时都应满足比较条件。 例如,如果子查询返回的值为 2 和 3,则对于值为 2 的 scalar_expression,scalar_expression <= ALL(子查询)的计算结果为 TRUE。 如果子查询返回的值为 2 和 3,则 scalar_expression = ALL(子查询)的计算结果将为 FALSE,因为子查询的某些值(等于 3 的值)不满足表达式的条件。
那我想请问下有满足表达式条件的例子吗
当查询结果为一个时,则可能为true。=all 使用的情况确实少,不好举例子