PostgreSQL NOT
在本节中,我们将了解
PostgreSQL非条件的工作原理,并查看非条件
示例带有IN,LIKE,BETWEEN,IS NULL和EXISTS条件。
PostgreSQL NOT条件简介
PostgreSQL NOT条件与WHERE子句一起使用可否定命令中的条件。
NOT条件也称为
NOT运算符。
PostgreSQL NOT条件语法
在 PostgreSQL ,
没有条件可以与选择,插入,UPDATE 和 Delete 命令。
在上面的语法中,我们使用了以下参数:
参数 |
说明 |
Condition |
Condition参数用于定义我们要求反的条件。 |
PostgreSQL条件不同的示例
在IN条件下使用PostgreSQL NOT运算符的示例
带有IN条件的PostgreSQL
NOT运算符用于获取那些值与列表值不匹配的行。
为此,我们采用
组织数据库中的
customer 表。
以下示例显示
非操作员为IN条件 >标识
姓氏不是
"史密斯"或"布朗" 的客户信息:
SELECT customer_id, first_name, last_name
FROM Customer
WHERE last_name NOT IN ('Smith', 'Brown')
ORDER BY customer_id;
输出
在执行上述命令时,我们将获得以下输出,显示其
姓氏不是
Smith或棕色。
在条件类似的情况下使用PostgreSQL NOT运算符的示例
在PostgreSQL中,我们还可以将
NOT运算符与
类似条件结合起来。
在下面的示例中,我们将学习在
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_name 的
customers strong>不同于
Smi 。
在条件之间使用PostgreSQL NOT运算符的示例
在
PostgreSQL 中,我们还可以在BETWEEN条件的
NOT运算符WHERE子句,从定义的条件与
PostgreSQL中间条件相矛盾的表中获取数据。
在下面的示例中,我们使用了
lidihuo 数据库中的
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条件结合使用。
我们正在使用
组织数据库中的"客户" 表。在下面的示例中,我们将识别
order_id 不为空的那些
客户记录。
SELECT customer_id, first_name, last_name, order_id
FROM Customer
WHERE order_id IS NOT null
ORDER BY customer_id;
输出
在执行上述命令时,我们将得到以下结果,其中显示了
order_id 不为空。
在存在条件下使用PostgreSQL NOT运算符的示例
在PostgreSQL中,
EXISTS运算符用于测试子查询中是否存在任何数据,并且Exists条件也可以与
NOT运算符中的WHERE子句。
让我们看一个示例示例,以了解
NOT条件和Exists条件的工作。
在以下命令中,我们将从
lidihuo 数据库中获取
雇员和department表。
以标识所有
雇员 借助于
emp_id 列在
department 表中不存在的记录。
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运算符和 IN运算符从特定表中获取记录。
我们使用否条件和类似条件从特定表中获取记录。
我们使用 NOT运算符和 BETWEEN条件从表中获取记录。
我们使用 NOT运算符和IS NULL条件从特定表中获取记录。
我们将 NOT条件与 EXISTS条件一起使用。