位置:首頁 > 數據庫 > PostgreSQL教學 > PostgreSQL AND/OR運算符

PostgreSQL AND/OR運算符

PostgreSQL的AND和OR運算符用於組合多個條件來縮小選定一個PostgreSQL表中的數據。這兩個運算符被稱為連接詞運算符。

這些運算符提供了一種的方法使到多個不同的操作符比較在相同的PostgreSQL表。

AND運算符:

AND運算符允許存在多個條件中的一個PostgreSQL表中的WHERE子句。雖然使用AND運算符,完整的條件下將被假設當所有的條件都成立。例如[條件1]和[條件2]將為true,隻有當這兩個條件1和條件2都為TRUE。

語法:

WHERE子句的基本語法與操作如下:

SELECT column1, column2, columnN
FROM table_name
WHERE [condition1] AND [condition2]...AND [conditionN];

可以結合使用AND運算符條件N多個。應采取PostgreSQL語句,無論它是一個事務或查詢,所有分離的條件必須是TRUE。

實例:

考慮表公司有如下記錄:

testdb# select * from COMPANY;
 id | name  | age | address   | salary
----+-------+-----+-----------+--------
  1 | Paul  |  32 | California|  20000
  2 | Allen |  25 | Texas     |  15000
  3 | Teddy |  23 | Norway    |  20000
  4 | Mark  |  25 | Rich-Mond |  65000
  5 | David |  27 | Texas     |  85000
  6 | Kim   |  22 | South-Hall|  45000
  7 | James |  24 | Houston   |  10000
(7 rows)

年齡大於或等於25並且工資是大於或等於65000.00所有的記錄,下麵SELECT語句列表:

testdb=# SELECT * FROM COMPANY WHERE AGE >= 25 AND SALARY >= 65000;

以上PostgreSQL的表會產生以下結果:

 id | name  | age | address    | salary
----+-------+-----+------------+--------
  4 | Mark  |  25 | Rich-Mond  |  65000
  5 | David |  27 | Texas      |  85000
(2 rows)

OR運算符:

OR運算符也可用於多個條件結合起來,在一個PostgreSQL表的WHERE子句。雖然使用OR運算符,完整的條件下將被假設任何條件至少是真實的。例如[條件1]或[條件2]將是true,如果條件1或條件2是true。

語法:

OR運算符與WHERE子句的基本語法如下:

SELECT column1, column2, columnN
FROM table_name
WHERE [condition1] OR [condition2]...OR [conditionN]

可以結合N多的條件下使用OR運算符。對於一個PostgreSQL語句,無論它是一個事務或查詢,任何一個分離的條件或是TRUE。

實例:

考慮公司表中有以下記錄:

 # select * from COMPANY;
  id | name  | age | address   | salary
 ----+-------+-----+-----------+--------
   1 | Paul  |  32 | California|  20000
   2 | Allen |  25 | Texas     |  15000
   3 | Teddy |  23 | Norway    |  20000
   4 | Mark  |  25 | Rich-Mond |  65000
   5 | David |  27 | Texas     |  85000
   6 | Kim   |  22 | South-Hall|  45000
   7 | James |  24 | Houston   |  10000
(7 rows)

下麵SELECT語句是年齡大於等於25或薪水大於等於65000.00所有的記錄列表:

testdb=# SELECT * FROM COMPANY WHERE AGE >= 25 OR SALARY >= 65000;

以上PostgreSQL的表會產生以下結果:

 id | name  | age | address    | salary
----+-------+-----+------------+--------
  1 | Paul  |  32 | California |  20000
  2 | Allen |  25 | Texas      |  15000
  4 | Mark  |  25 | Rich-Mond  |  65000
  5 | David |  27 | Texas      |  85000
(4 rows)