开发手册 欢迎您!
软件开发者资料库

PostgreSQL - AND和OR联合运算符

PostgreSQL AND和OR联合运算符 - 从简单和简单的步骤开始学习PostgreSQL,从基本到高级概念,包括数据库编程,概述,环境设置,语法,数据类型,创建,选择,删除数据库,删除,创建表,架构,插入,选择,更新,删除查询,运算符,表达式,位置,类似,限制,排序依据,分组依据,使用,具有子句,AND和OR运算符,不同关键字,约束,联接,联合子句,NULL值,别名语法,触发器,索引,更改表命令,截断表命令,视图,事务,锁,子查询,自动增量,权限,日期/时间函数和操作符,函数,有用函数,C / C ++,JAVA,PHP,Perl,Python接口。

PostgreSQL AND OR 运算符用于组合多个条件以缩小PostgreSQL语句中的选定数据.这两个运算符称为联合运算符.

这些运算符提供了一种在同一PostgreSQL语句中与不同运算符进行多次比较的方法.

AND运算符

AND 运算符允许在PostgreSQL语句的WHERE子句中存在多个条件.使用AND运算符时,如果所有条件都为真,则将假定完整条件为真.例如,只有当condition1和condition2都为真时,[condition1] AND [condition2]才为真.

语法

AND运算符的基本语法with WHERE子句如下 :

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

您可以使用AND运算符组合N个条件.对于PostgreSQL语句要采取的操作,无论是事务还是查询,由AND分隔的所有条件都必须为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)

以下SELECT语句列出了AGE大于或等于25 AND

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运算符时,如果至少满足任何条件,则将假定完整条件为真.例如,如果condition1或condition2为真,则[condition1] OR [condition2]将为真.

语法

OR运算符的基本语法WHERE子句如下 :

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

您可以使用OR运算符组合N个条件.对于PostgreSQL语句要采取的操作,无论是事务还是查询,只有OR分隔的任何一个条件必须为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语句列出了AGE大于或等于25 OR

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)