PostgreSQL教程

PostgreSQL WHERE

在本节中,我们将了解PostgreSQL where子句的工作原理,该子句用于过滤由...返回的行 Select 命令。
WHERE条件用于描述当我们从表或联接各种表中获取数据时的条件。它通常与 SELECT,UPDATE和DELETE 命令一起使用以过滤输出。仅当条件满足时,它才返回精确结果。
注意: 要选择满足详细条件的行,我们使用WHERE子句。 SELECT命令返回表中一个或多个列的所有行。

PostgreSQL WHERE子句的语法

PostgreSQL WHERE条件的语法如下:
SELECT column1, column2, ..... columnN  
FROM table_name  
WHERE [search_condition]  
ORDER BY sort_expression
Select 命令中, FROM 子句后面是 WHERE 条件。并且该条件用于过滤从 SELECT命令返回的行。
where子句可以如果我们使用 AND&,则为布尔值表达式或一组布尔表达式。或 运算符。并且该子句必须评估为 true,false或unknown
WHERE条件适用于以下格式:
它从 开始从子句→,然后执行 Where条件→,之后将 选择特定列 ,然后按 排序依据子句。
PostgreSQL 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中的工作方式。
为此,我们将使用 Employee 表。
下面的屏幕快照定义了 Employee 表中存在的不同列:
PostgreSQL WHERE子句
在上表中,我们将执行 不同类型的运算符使用 where子句
使用WHERE子句的AND运算符的示例
在下面的示例中,我们将使用 And逻辑运算符 employee 中组合两个布尔表达式表格中找到 名叫Mia,姓氏史密斯
SELECT first_name, last_name
FROM 
employee
WHERE 
first_name = 'Mia' AND last_name = 'Smith';
输出
执行上述命令后,我们将获得以下输出:
PostgreSQL WHERE子句 使用WHERE子句的(=)等于运算符的示例
在以下命令中,我们使用 employee 表中的 等于(=)运算符 >条件以标识记录 其姓氏等于史密斯的记录
SELECT first_name,last_name
FROM employee
WHERE last_name = 'smith';
输出
执行上述命令后,我们将获得以下输出,该输出将提取 姓氏等于 史密斯
PostgreSQL WHERE子句 使用WHERE子句的OR运算符的示例
在以下示例中,我们将使用 OR 逻辑运算符表中的 员工 ,将 标识为 Megan ,并将 姓氏 >为
SELECT first_name, last_name
FROM 
employee
WHERE 
first_name = 'megan' OR last_name = 'will';
输出
执行上述命令后,我们将获得以下输出:
PostgreSQL WHERE子句 使用WHERE子句的LIKE运算符的示例
在这里,我们将使用 LIKE运算符
下面的命令显示 last_name smi 字符串开头的记录。 employee 表。
SELECT first_name,last_name
FROM employee
WHERE last_name LIKE 'smi%';
输出
执行上述命令后,我们将获得以下输出,其中上述查询获取 四个记录,其 last_name smi字符串开头:
PostgreSQL WHERE Clause
注意: 在上面的命令中,%被称为通配符,它​​有助于匹配任何字符串。并且'smi%'模式与以'smi'开头的字符串匹配。
使用WHERE子句的IN运算符的示例
在这里,我们将使用 IN运算符将字符串与列表中的任何字符串匹配。
以下命令显示其 last_name employee 表中的 smi,smith
SELECT first_name,last_name
FROM employee
WHERE last_name IN ('smi','smith');
输出
一旦执行了上述命令,我们将获得以下输出:
PostgreSQL WHERE子句 使用WHERE子句的BETWEEN运算符的示例
在以下命令中,我们将使用 Between运算符来显示 last_name ,该名称以字符串 ith 和在 employee 表中具有 2到6 个字符。
注意: 在此,我们使用了LENGTH()函数来获取输入字符串字符的数量。
SELECT last_name, LENGTH(last_name) name_length
FROM employee
WHERE last_name LIKE '%ith' AND LENGTH(last_name) BETWEEN 2 AND 6
ORDER BY name_length;
输出
执行上面的命令后,我们将获得以下输出,上面的查询将提取与第 ith个字符串匹配的两条记录,并且 名称长度 2和6 之间。
PostgreSQL WHERE子句 使用WHERE子句的不等于运算符(<>)的示例
在下面的示例中,我们将使用 不等于<> 运算符来标识其 address开头的 员工 新字符串名字不等于 奥利维亚
SELECT first_name, last_name, address
FROM employee
WHERE address LIKE 'New%' AND first_name <> 'Olivia';
输出
执行上面的命令后,我们将获得以下输出,其中查询获取 两条记录,其 address新字符串匹配,并且 first_name 不等于 Olivia
PostgreSQL WHERE子句
注意: 我们可以同时使用<>运算符和!=运算符,因为它们与下面的命令类似:
SELECT first_name, last_name, address
FROM employee
WHERE address LIKE 'New%' AND first_name <> 'John';
输出
执行以上命令后,我们将获得以下输出,其中查询将提取地址以 新字符串开头的一条记录,并且 first_name 不等于 John
PostgreSQL WHERE子句
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4