PostgreSQL条件用于从数据库获取更具体的结果。 它们通常与WHERE子句一起使用。 具有子句的条件就像双层过滤器
以下是PostgreSQL条件的列表:
- AND 条件
- OR 条件
- AND & OR 条件
- NOT 条件
- LIKE 条件
- IN 条件
- NOT IN 条件
- BETWEEN 条件
AND
与WHERE子句一起使用,以从表中的**多个列中选择唯一的数据**
语法
SELECT column1, column2, ..... columnN FROM
table_name WHERE
[search_condition] AND [search_condition];
例 数据表如下
下面来查询所有ID小于`4`并且薪水大于`120000`的员工数据信息,执行以下查询语句
SELECT * FROM EMPLOYEES WHERE SALARY > 120000 AND ID <= 4;

结果如下

OR
与`WHERE`子句一起使用,**以从表中的一列或多列列中选择唯一数据**
语法
SELECT column1, column2, ..... columnN FROM
table_name WHERE
[search_condition] OR [search_condition];
例 数据表如下
查询名字是`Minsu`或者地址为`Noida`员工信息,执行以下查询
SELECT * FROM EMPLOYEES WHERE NAME = 'Minsu' OR ADDRESS = 'Noida'

结果如下

AND和OR对比
AND必须两项都满足才能查询出结果,OR只需要满足一项即可查询出结果
PostgreSQL AND&OR条件在仅一个查询中提供了AND和OR条件的优点。
结合使用
语法
SELECT column1, column2, ..... columnN FROM table_name
WHERE [search_condition] AND [search_condition] OR [search_condition];
例 数据表如下 查询名字的值为Minsu和地址的值为’Delhi‘,或者ID值大于等8的记录信息,执行以下查询
SELECT * FROM EMPLOYEES WHERE (NAME = 'Minsu' AND ADDRESS = 'Delhi') OR (ID>= 8)
先AND再OR

结果如下

PostgreSQL NOT条件与WHERE子句一起使用以否定查询中的条件
语法
SELECT column1, column2, ..... columnN FROM table_name
WHERE [search_condition] NOT [condition];
例 查询那些地址不为NULL的记录信息,执行以下查询
SELECT * FROM EMPLOYEES WHERE address IS NOT NULL ;
结果全部不为null,则输出全部查询结果

例二
SELECT * FROM EMPLOYEES WHERE age NOT IN(21,24);
查询结果如下
