PostgreSQL的AND和OR运算符用于组合多个条件来缩小选定一个PostgreSQL表中的数据。这两个运算符被称为连接词运算符。 gitbook.net
这些运算符提供了一种的方法使到多个不同的操作符比较在相同的PostgreSQL表。
AND运算符允许存在多个条件中的一个PostgreSQL表中的WHERE子句。虽然使用AND运算符,完整的条件下将被假设当所有的条件都成立。例如[条件1]和[条件2]将为true,只有当这两个条件1和条件2都为TRUE。
gitbook.net
WHERE子句的基本语法与操作如下: www.gitbook.net
SELECT column1, column2, columnN FROM table_name WHERE [condition1] AND [condition2]...AND [conditionN]; www.gitbook.net
可以结合使用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)www.gitbook.net
年龄大于或等于25并且工资是大于或等于65000.00所有的记录,下面SELECT语句列表:
www.gitbook.net
testdb=# SELECT * FROM COMPANY WHERE AGE >= 25 AND SALARY >= 65000;gitbook.net
以上PostgreSQL的表会产生以下结果: www.gitbook.net
id | name | age | address | salary ----+-------+-----+------------+-------- 4 | Mark | 25 | Rich-Mond | 65000 5 | David | 27 | Texas | 85000 (2 rows)gitbook.net
OR运算符也可用于多个条件结合起来,在一个PostgreSQL表的WHERE子句。虽然使用OR运算符,完整的条件下将被假设任何条件至少是真实的。例如[条件1]或[条件2]将是true,如果条件1或条件2是true。 www.gitbook.net
OR运算符与WHERE子句的基本语法如下:
SELECT column1, column2, columnN FROM table_name WHERE [condition1] OR [condition2]...OR [conditionN]gitbook.net
可以结合N多的条件下使用OR运算符。对于一个PostgreSQL语句,无论它是一个事务或查询,任何一个分离的条件或是TRUE。
gitbook.net
考虑公司表中有以下记录:
gitbook.net
# 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) gitbook.net
下面SELECT语句是年龄大于等于25或薪水大于等于65000.00所有的记录列表: gitbook.net
testdb=# SELECT * FROM COMPANY WHERE AGE >= 25 OR SALARY >= 65000;gitbook.net
以上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) www.gitbook.net