一.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)

最新文章

  1. ubuntu 14.04安装pypcap
  2. vim ---- 一键自动indent的命令
  3. Kingdom of Obsession---hdu5943(二分匹配)
  4. C#微信公众号开发-MVC模式公共类封装
  5. mfc中CString转化为string的方法
  6. 小白学数据分析-----&gt;付费用户生命周期研究
  7. 云计算之路-阿里云上:2014年6月12日12点IIS请求到达量突降
  8. mysql封装类
  9. centos6 下安装xfce+vnc
  10. WPF中ListBox的项ListBoxItem被选中的时候Background变化
  11. linux的fork函数
  12. 【Android 复习】:Android之ViewFlipper(一)
  13. 【项目分析】利用C#改写JAVA中的Base64.DecodeBase64以及Inflater解码
  14. 用django搭建一个简易blog系统(翻译)(一)
  15. 简单 实现CombineFileInputFormat
  16. KafKa介绍(分布式架构)
  17. javascript数组集锦
  18. Oracle 存储过程的导出导入序列的导出
  19. python写入文本报错TypeError: expected a string or other character buffer object
  20. docker下运行labview2010

热门文章

  1. ADC相关参数之---INL和DNL
  2. 取石子(好学的C++)
  3. yii2的Console定时任务创建
  4. hbase学习 rowKey的设计-4
  5. 第五章 使用 SqlSession(MyBatis)
  6. mysqlbinlog基于某个偏移量进行数据的恢复(重做),--start-position,--stop-position的使用方法
  7. MongoDB创建表步骤,Mongo常用的数据库操作命令,查询,添加,更新,删除_MongoDB 性能监测
  8. Python 字符串处理(转)
  9. linux文件类型详解
  10. iOS - 布局重绘机制相关方法的研究