PostgreSQL Not条件

在本节中,我们将了解PostgreSQL NOT 条件的工作原理,并查看NOT 条件与 IN、LIKE、BETWEEN、IS NULL 和 EXISTS 条件的示例。

PostgreSQL NOT 条件介绍

PostgreSQL NOT 条件与 WHERE 子句一起使用来否定命令中的条件。NOT 条件也称为NOT 运算符。

PostgreSQL NOT 条件语法

PostgreSQL中,NOT 条件可以与SELECTINSERTUPDATEDELETE命令一起使用。

NOT Condition  

在上面的语法中,我们使用了以下参数:

范围 描述
Condition Condition 参数用于定义我们要否定的条件。

不同条件下的 PostgreSQL NOT 条件示例

  • 在 IN 条件下使用 PostgreSQL NOT 运算符的示例

带有 IN 条件的 PostgreSQL NOT 运算符用于获取那些值与列表值不匹配的行。

为此,我们从组织数据库中获取客户表。

以下示例显示带有 IN 条件的 Not Operator以识别last_name不是'Smith' 或 'Brown'的客户信息:

SELECT customer_id, first_name, last_name  
FROM Customer  
WHERE last_name NOT IN ('Smith', 'Brown')  
ORDER BY customer_id;  

在执行上述命令时,我们将得到以下输出,显示那些last_name不是Smith 或 Brown的记录。

  • 在 LIKE 条件下使用 PostgreSQL NOT 运算符的示例

在 PostgreSQL 中,我们还可以将NOT 运算符与Like Condition结合使用。

在下面的示例中,我们将学习在PostgreSQL LIKE条件下使用PostgreSQL NOT 运算符。

以下命令用于识别姓氏不以字符串Smi开头的客户信息:

SELECT customer_id, first_name, last_name  
FROM Customer  
WHERE last_name NOT LIKE 'Smi%'  
ORDER BY customer_id;  

执行上述语句后,我们将得到以下输出,其中显示了那些last_name不是像Smi的客户。

  • 在 Between 条件下使用 PostgreSQL NOT 运算符的示例

在PostgreSQL中,我们还可以在WHERE 子句中将 NOT 运算符与BETWEEN 条件一起使用,以从定义的条件与PostgreSQL Between Condition相矛盾的表中获取数据。

在下面的示例中,我们使用Javatpoint数据库中的Car表,我们试图在其中获取car_price不在100000 到 399999范围内的汽车详细信息:

SELECT car_id, car_name, car_price, car_model  
FROM car  
WHERE car_price NOT BETWEEN 100000 AND 399999  
ORDER BY car_id DESC;  

成功执行上述命令后,我们将得到如下输出,其中显示的是价格不在100000到399999范围内的汽车信息:

在下面的示例中,我们将大于 (>) 和小于 (<)运算符与OR 运算符一起使用,而不是使用NOT BETWEEN/ AND运算符。下面的命令等同于上面的SELECT查询:

SELECT car_id, car_name, car_price, car_model  
FROM car  
WHERE car_price< 100000  
OR car_price> 399999  
ORDER BY car_id DESC;  

执行上述命令后,我们将得到如下结果:

热门文章

优秀文章