PostgreSQL Where语句
在本节中,我们将了解 PostgreSQL where 子句的工作原理,它用于过滤Select命令返回的行。
WHERE条件用来描述我们从一个表中获取数据或者Join各种表时的一个条件。它通常与SELECT、UPDATE 和 DELETE命令一起使用以过滤输出。它仅在满足条件时返回确切的结果。
PostgreSQL WHERE 子句的语法
PostgreSQL WHERE 条件的语法如下:
SELECT column1, column2, ..... columnN
FROM table_name
WHERE [search_condition]
ORDER BY sort_expression
在Select命令中,WHERE条件出现在FROM子句之后。条件用于过滤从SELECT 命令返回的行。
如果我们使用AND & OR运算符,where 子句可以是布尔表达式或一组布尔表达式。并且该子句必须评估为true、false 或 unknown。
WHERE 条件适用于以下格式:
它从From 子句开始 →然后它执行Where 条件 →然后它将选择特定的列→然后由Order by子句执行。
WHERE条件不支持SELECT命令下的列别名。Where 子句支持DELETE和UPDATE命令,用于定义删除和更新的行。
WHERE 条件可以与逻辑运算符和比较运算符一起使用,如下表所示:
不同的操作符 | 描述 |
---|---|
AND | 逻辑运算符 AND |
OR | 逻辑运算符或 |
= | 平等的 |
> | 比...更棒 |
< | 少于 |
<> 或 != | 不等于 |
>= | 大于或等于 |
<= | 小于或等于 |
IN | 如果值与列表中的任何值匹配,则 IN 运算符将返回 true |
LIKE | LIKE 运算符用于在值与模式匹配时返回 true |
BETWEEN | BETWEEN 运算符用于在值介于一系列值之间时返回 true |
NOT | 取反其他运算符的结果 |
IS NULL | 如果值为 NULL,它用于返回 true。 |
PostgreSQL WHERE 条件示例
让我们看一些示例,了解WHERE 子句在 PostgreSQL 中的工作原理。
为此,我们将使用我们在PostgreSQL 教程的前面部分中创建的Employee表。
下面的屏幕截图定义了Employee表中存在的不同列:
在上表中,我们将使用where 子句执行不同类型的运算符。
- 使用 WHERE 子句的 AND 运算符示例
在下面的示例中,我们将使用And 逻辑运算符组合employee表中的两个布尔表达式,以查找first_name 是 Mia 和 last_name是Smith。
SELECT first_name, last_name
FROM
employee
WHERE
first_name = 'Mia' AND last_name = 'Smith';
执行上述命令后,我们将得到以下输出:
- 使用 WHERE 子句的 (=) 等于运算符的示例
在下面的命令中,我们在employee表中使用等于 (=) 运算符,使用where 条件来识别last_name 等于 smith的记录。
SELECT first_name,last_name
FROM employee
WHERE last_name = 'smith';
执行上述命令后,我们将得到以下输出,其中获取了最后一个_name等于smith的两条记录。
- 使用 WHERE 子句的 OR 运算符示例
在下面的示例中,我们将在员工表中使用OR逻辑运算符来将first_name标识为Megan,将last_name标识为Will。
SELECT first_name, last_name
FROM
employee
WHERE
first_name = 'megan' OR last_name = 'will';
执行上述命令后,我们将得到以下输出:
热门文章
优秀文章