PostgreSQL的 AND 和 OR 运算符用于组合多个条件以缩小PostgreSQL语句中的选定数据。
AND 运算符允许PostgreSQL语句的WHERE子句中存在多个条件,使用AND运算符时,当所有条件都为真时才通过。如,仅当condition1和condition2均为true时,[condition1] AND [condition2]才为true。
带WHERE子句的AND运算符的基本语法如下-
SELECT column1, column2, columnN FROM table_name WHERE [condition1] AND [condition2]...AND [conditionN];
您可以使用AND运算符组合N个条件,对于要由PostgreSQL语句执行的操作,无论是事务还是查询,用AND分隔的所有条件都必须为TRUE。
考虑表 COMPANY 具有以下记录:
testdb# select * from COMPANY; id | name | age | address | salary ----+-------+-----+-----------+-------- 1 | Paul | 32 | California| 20000 2 | Learnfk | 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语句列出了AGE大于或等于25 且薪金大于或等于65000.00的所有记录-
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运算符还用于在PostgreSQL语句的WHERE子句中组合多个条件,使用OR运算符时,如果至少有一个条件为true才通过。如,如果condition1或condition2为true,则[condition1] OR [condition2]将为true。
带WHERE子句的OR运算符的基本语法如下-
链接:https://www.learnfk.comhttps://www.learnfk.com/postgresql/postgresql-and-or-clauses.html
来源:LearnFk无涯教程网
SELECT column1, column2, columnN FROM table_name WHERE [condition1] OR [condition2]...OR [conditionN]
您可以使用OR运算符组合N个条件。对于要由PostgreSQL语句执行的操作(无论是事务还是查询),仅由OR分隔的条件之一必须为TRUE。
考虑COMPANY 表,该表具有以下记录-
# select * from COMPANY; id | name | age | address | salary ----+-------+-----+-----------+-------- 1 | Paul | 32 | California| 20000 2 | Learnfk | 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语句列出了AGE大于或等于25 OR 薪水大于或等于65000.00的所有记录-
testdb=# SELECT * FROM COMPANY WHERE AGE >= 25 OR SALARY >= 65000;
上面给出的PostgreSQL语句将产生以下输出-
id | name | age | address | salary ----+-------+-----+------------+-------- 1 | Paul | 32 | California | 20000 2 | Learnfk | 25 | Texas | 15000 4 | Mark | 25 | Rich-Mond | 65000 5 | David | 27 | Texas | 85000 (4 rows)
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)