实在是找不到=all的解释,按字面来看无法理解,望用过的前辈指导下

解决方案 »

  1.   

    给个例子吧,验证=all并不等价于in
      

  2.   

    给个例子吧,验证=all并不等价于in
    是我的知识不够呢还是怎么了,我不知道lz的意思
      

  3.   

    =all是同时满足
    in只要其中之一满足
      

  4.   

    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)
      

  5.   


    嗨 原来是oracle的 我勒个去
      

  6.   

    sql server的写法:
    select * from A where c1 = all(select 1) --()里面要求是个子查询
      

  7.   

    ,我就是觉得这样有点矛盾,比如比较一个数与一个集合,一个数怎么同时与多个数相等呢,难道结果一定是false?前辈能否介绍下true的例子
      

  8.   

    新手看的数据库系统概念,我也不知道哪方言是哪方言,对于自然连接在sql sever不兼容我也很纳闷
      

  9.   

    一般用于>all或<all,=all的用得少也没有结果
      

  10.   

     
    some的 例子可以看懂,但=all这真心不知道怎么应用
      

  11.   

    官方解释:http://msdn.microsoft.com/zh-cn/library/ms178543.aspx
    ALL 要求 scalar_expression 与子查询返回的每个值进行比较时都应满足比较条件。 例如,如果子查询返回的值为 2 和 3,则对于值为 2 的 scalar_expression,scalar_expression <= ALL(子查询)的计算结果为 TRUE。 如果子查询返回的值为 2 和 3,则 scalar_expression = ALL(子查询)的计算结果将为 FALSE,因为子查询的某些值(等于 3 的值)不满足表达式的条件。
      

  12.   

    官方解释:http://msdn.microsoft.com/zh-cn/library/ms178543.aspx
    ALL 要求 scalar_expression 与子查询返回的每个值进行比较时都应满足比较条件。 例如,如果子查询返回的值为 2 和 3,则对于值为 2 的 scalar_expression,scalar_expression <= ALL(子查询)的计算结果为 TRUE。 如果子查询返回的值为 2 和 3,则 scalar_expression = ALL(子查询)的计算结果将为 FALSE,因为子查询的某些值(等于 3 的值)不满足表达式的条件。
    那我想请问下有满足表达式条件的例子吗
      

  13.   

    =all的使用的很少,lz你说all(子查询),如果查询结果为大于两个值的语句,结果则为false。
    当查询结果为一个时,则可能为true。=all 使用的情况确实少,不好举例子