zoukankan      html  css  js  c++  java
  • postgresql----ANY/SOME&&ALL

    一.ANY/SOME

    WHERE expression operator ANY (subquery)
    WHERE expression operator SOME (subquery)

    其实ANY和SOME在这里是同等效的,子查询的结果集只能是一个字段,左边表达式使用operator对结果集的每一行进行一次比较运算,如果有一个运算结果是'TRUE',则表达式结果为'TRUE',如果比较结果全部是'FALSE'表达式结果才是'FALSE'。

    > ANY  大于子查询结果中的某个值

    < ANY  小于子查询结果中的某个值

    >= ANY 大于或等于子查询结果中的某个值

    <= ANY 小于或等于子查询结果中的某个值

    = ANY  等于子查询结果中的某个值,相当于IN

    != ANY 不等于子查询结果中的某个值 

    示例1.查询tbl_insert表,条件是字段a大于表tbl_test字段f某一行中的值

    test=# select * from tbl_insert where a > any(select f from tbl_test);
     a | b |   c   
    ---+---+-------
     2 | 2 | 22
     3 | 3 | 33
     4 | 4 | 44
     5 | 5 | 51
     6 | 6 | 1
     6 | 6 | 61
     6 | 6 | 661
     7 | 7 | 3%1
     8 | 8 | 3%_1
     8 | 8 | 3_%_1
     7 | 7 | abc
     7 | 7 | ABc
     7 | 7 | aBC
    (13 rows)

    二.ALL

    WHERE expression operator ALL(subquery)

    同样子查询中仍只能返回一个字段,与子查询结果集每一行进行比较结果全部是'TRUE'表达式结果才是'TRUE',否则为'FALSE'。

    > ALL  大于子查询结果中的所有值

    < ALL  小于子查询结果中的所有值

    >= ALL 大于或等于子查询结果中的所有值

    <= ALL 小于或等于子查询结果中的所有值

    = ALL 等于子查询结果中所有值(除非子查询的结果全部相等,所以实际上没什么意义)

    != ALL 不等于子查询结果中的任何一个值,相当于NOT IN

    示例1.查询tbl_insert表中a最大的行

    test=# select * from tbl_insert where a = (select max(a) from tbl_insert);
     a | b |   c   
    ---+---+-------
     8 | 8 | 3%_1
     8 | 8 | 3_%_1
    (2 rows)
    
    test=# select * from tbl_insert where a >= all(select a from tbl_insert);
     a | b |   c   
    ---+---+-------
     8 | 8 | 3%_1
     8 | 8 | 3_%_1
    (2 rows)

    示例2.查询tbl_insert表中a最小的行

    test=# select * from tbl_insert where a <= all(select a from tbl_insert);
     a | b | c  
    ---+---+----
     1 | 1 | 11
    (1 row)
    
    test=# select * from tbl_insert where a = (select min(a) from tbl_insert);
     a | b | c  
    ---+---+----
     1 | 1 | 11
    (1 row)
  • 相关阅读:
    遍历查询ldap服务器用户
    spring调用存储过程
    jms在jboss上的简单应用
    开发团队如何完成一个项目?
    数据库分区表的使用
    使用native 查询时,对特殊字符的处理。
    spring定时器分析
    sql server监控
    java 类和接口之间的转换
    C++ main 参数使用
  • 原文地址:https://www.cnblogs.com/alianbog/p/5618094.html
Copyright © 2011-2022 走看看