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