📜  PostgreSQL NOT Condition

📅  最后修改于: 2020-11-30 09:01:17             🧑  作者: Mango

PostgreSQL NOT Condition

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

PostgreSQL NOT条件的介绍

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

PostgreSQL NOT条件语法

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

NOT Condition

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

Parameter Description
Condition The Condition parameter is used to define the conditions which we want to negate.

带有不同条件的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的那些记录。

  • 在条件类似的情况下使用PostgreSQL NOT运算符的示例

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

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

以下命令用于标识其last_name不以字符串Smi开头的那些客户信息

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

输出量

执行上述语句后,我们将获得以下输出,该输出显示last_nameSmi不同的那些客户

  • 在条件之间使用PostgreSQL NOT运算符的示例

PostgreSQL中,我们还可以在WHERE子句中将NOT运算符BETWEEN Condition一起使用以从已定义条件与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;

输出量

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

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

在PostgreSQL中, IS NULL条件可以与NOT条件结合使用。

我们正在使用Organization数据库中的Customer表。在下面的示例中,我们将识别order_id不为null的那些客户记录。

SELECT customer_id, first_name, last_name, order_id
FROM Customer
WHERE order_id IS NOT NULL
ORDER BY customer_id;

输出量

执行上述命令后,我们将获得以下结果,该结果显示了order_id不为null的那些客户详细信息。

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

在PostgreSQL中, EXISTS运算符用于测试子查询中是否存在任何数据,并且Exists条件还可以与WHERE子句中的NOT运算符组合。

让我们看一个示例示例,以了解NOT条件和Exists条件的工作

在以下命令中,我们将从Javatpoint数据库中获取employee和department表。

在emp_id列的帮助下,识别部门表中不存在的所有员工记录。

SELECT emp_id, emp_fname, emp_lname, location
FROM employee
WHERE NOT EXISTS (
        SELECT *
        FROM department
        WHERE employee.emp_id= department.emp_id);

输出量

执行完上述命令后,我们将获得以下输出,该输出返回所有employee表记录。部门表中没有给定emp_id的记录:

总览

PostgreSQL NOT Condition部分中,我们学习了以下主题:

  • 我们使用Not运算符IN运算符来从特定表中获取记录。
  • 我们使用了NOT条件Like条件来从特定表中获取记录。
  • 我们使用条件条件BETWEENNOT运算符从表中获取记录。
  • 我们使用带有IS NULL条件NOT运算符从特定表中获取记录。
  • 我们将NOT条件EXISTS条件一起使用