📜  PostgreSQL NOT IN条件

📅  最后修改于: 2020-11-30 08:59:45             🧑  作者: Mango

PostgreSQL NOT IN条件

在本节中,我们将了解PostgreSQL NOT IN条件的工作原理,以及带有Numeric和字符值的Not IN条件的示例

PostgreSQL NOT IN条件的介绍

PostgreSQL NOT IN条件与WHERE子句一起使用,以从已定义条件与PostgreSQL IN条件矛盾的表中获取数据。

PostgreSQL NOT IN条件语法

PostgreSQL中,NOT IN条件可以与SELECT,INSERT,UPDATE和DELETE命令一起使用。

expression NOT IN (value1, value2, .... valueN);  

PostgreSQL NOT IN条件示例:带有数值

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

为此,我们从Javatpoint数据库获取部门表。

下面的示例显示Not IN Operator用于标识emp_id既不是1也不是2的部门信息:

SELECT emp_id, dept_id, emp_fname, dept_name
FROM department
WHERE emp_id NOT IN (1, 2)
ORDER BY dept_name DESC;

输出量

执行上述命令后,我们将获得以下输出,显示emp_id既不是1也不是2的那些记录。

同样,我们也可以使用AND运算符和NOT EQUAL(<>)运算符,而不是NOT IN运算符,如下面的语句所示:

SELECT emp_id, dept_id, emp_fname, dept_name
FROM department
WHERE emp_id <> 1 AND emp_id <> 2
ORDER BY dept_name DESC;

输出量

在实现上述语句时,与上述查询输出相比,我们将获得类似的输出:

PostgreSQL NOT IN条件的示例:带字符值

为此,我们使用上面的employee表来获取emp_fname与James,Mia员工无关的员工信息。

我们在WHERE子句中使用NOT IN运算符,因为可以看到以下命令:

SELECT emp_id, emp_fname, emp_lname
FROM employee
WHERE emp_fname NOT IN ('James', 'Mia')
ORDER BY emp_id;

输出量

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

在上面的示例中,PostgreSQL NOT IN条件将返回employee表中emp_fname既不是‘James’也不是’Mia’的所有行。

总览

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

  • 我们使用Not运算符和IN运算符来从特定表中获取记录。
  • 我们使用NOT IN条件从特定表中获取数值
  • 我们使用NOT IN条件从特定表中获取字符