postgresql----ANY/SOME&&ALL

來源:互聯網
上載者:User

標籤:

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

 

postgresql----ANY/SOME&&ALL

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.