PostgreSQL IN Condition PostgreSQL Like PostgreSQL NOT IN Condition PostgreSQL IN Condition 在本节中,我们将了解PostgreSQL IN 条件的工作原理,它与WHERE子句一起使用从定义的条件满足 IN 条件的表中获取数据。IN 运算符和带有子查询的 IN 运算符的示例。 PostgreSQL IN条件介绍 在PostgreSQL的IN条件是内使用WHERE子句来获得那些任何数据列表中匹配的数据。换句话说,我们可以说IN 条件用于减少多个OR 条件。 PostgreSQL IN 条件语法 在PostgreSQL 中,IN 条件可以与SELECT、INSERT、UPDATE和DELETE 命令一起使用。 表达式 IN (SELECT column_name FROM table_name); 或者 Expression IN (SELECT column_name FROM table_name); 我们可以在下面编写上述语法,因为括号内称为子查询,它是嵌套在另一个语句中的语句。 Expression IN (subquery); 在上面的语法中,我们使用了以下参数: 范围 描述 Expression/ value 它用于定义列或字段。 value1, value2, .... valueN 如果这些值中的任何一个与表达式匹配,则IN 条件将返回 true。这是评估任何一个值是否与表达式匹配的快速方法。 Subquery 它是一个 SELECT 命令,其中将检查与表达式矛盾的输出。 笔记: 在PostgreSQL的IN条件将返回真如果值匹配在给定列表中的任何值,这是值1,值2,...值N,以及这些值列表可以是一个列表文字值。例如,字符串、数字或 SELECT 命令的输出。 PostgreSQL IN 条件示例 让我们看不同的例子来理解 PostgreSQL IN 条件是如何工作的: PostgreSQL IN 条件示例:带有字符值 为此,我们使用employee\表来获取具有John和Ava雇员的emp_fname的雇员信息。 我们使用带有 WHERE 子句的IN 运算符,因为我们可以看到以下命令: SELECT * FROM employee WHERE emp_fname IN ('John', 'Ava') ORDER BY emp_id DESC; 输出 执行上述命令后,我们将得到以下结果: 在上面的示例中,PostgreSQL IN 条件将返回员工\表中emp_fname为'John' 和 'Ava' 的所有行。 在上面的命令中,我们在SELECT 中使用了 () ,这意味着**员工***表中的所有字段都将显示在输出中。 在下面的命令中,我们使用OR 和等号 (=)运算符代替IN 运算符。该语句等效于上述命令: SELECT * FROM employee WHERE emp_fname ='John' OR emp_fname ='Ava' ORDER BY emp_id DESC; 输出 成功执行上述命令后,我们将得到以下结果: 正如我们在上图中所见,两个输出都提供了相似的结果,但与OR 和 Equal (=) Operators相比,使用PostgreSQL IN 条件使命令更易于阅读且更高效。 PostgreSQL IN 条件示例:带数值 要查看PostgreSQL IN 运算符示例,我们将从Javatpoint数据库中获取部门\表。 假设,我们想知道的部门信息的EMP_ID 1,2和3。因此,为此,我们在 WHERE 子句中使用IN 运算符,因为我们可以看到以下命令: SELECT emp_id, dept_id, emp_fname, dept_name FROM department WHERE emp_id IN (1, 2,3) ORDER BY dept_name DESC; 输出 执行上述命令后,我们将得到以下输出: 在上面的命令中,我们还可以使用OR 和等号 (=)运算符来代替IN 运算符。该语句等效于上述命令: SELECT emp_id, dept_id, emp_fname, dept_name FROM department WHERE emp_id=1 OR emp_id=2 OR emp_id=3 ORDER BY dept_name DESC; 输出 执行上述语句后,我们将得到以下结果: 执行这两个命令后,我们清楚地看到,与使用OR 和 Equal (=) 运算符的命令相比,使用IN 运算符的命令更具可读性,而且更短。 换句话说,我们可以说PostgreSQL使用IN 运算符执行命令比使用OR 运算符列表更快。 带有子查询的 PostgreSQL IN 示例 在以下命令中,我们将使用CAST()函数,它将任何类型的值更改为指定的数据类型。 在下面的示例中,CAST()用于转换Joining_date AS Date数据类型从部门\表中返回一个emp_id列表,其中Joining_date为2020-06-22: SELECT emp_id FROM department WHERE CAST (Joining_date AS Date) = '2020-06-22' ORDER BY emp_id; 输出 执行上述命令后,我们将得到如下结果: 正如我们在上面的屏幕截图中可以看到该命令返回一个值列表,我们可以将其用作 IN 运算符的输入,如下面的命令所示: SELECT emp_id, emp_fname, emp_lname FROM employee WHERE emp_id IN ( SELECT emp_id FROM department WHERE CAST (Joining_date AS DATE) = '2020-06-22' ) ORDER BY emp_id; 输出 执行上述命令后,我们将得到如下结果: 概述 在PostgreSQL IN 条件部分,我们学习了以下主题: 使用 PostgreSQL IN 运算符来查找值是否与值列表中的任何值匹配。 我们使用IN 条件从特定表中获取字符。 我们使用IN 条件从特定表中获取数字。 我们使用带有PostgreSQL IN 运算符的子查询概念来从两个表中获取值。 PostgreSQL Like PostgreSQL NOT IN Condition