Code前端首页关于Code前端联系我们

MySQL 入门教程:用于过滤结果集中的行记录的 WHERE 子句

terry 2年前 (2023-09-26) 阅读数 40 #数据库

学习使用 MySQL 子句 WHERE in SELECT 过滤行中的记录 SELECT 。

1。 MySQL WHERE 子句简介

如果使用 SELECT 语句而不使用 WHERE 子句来查询表中的数据,您将得到表中的所有行记录,其中大部分是不需要的记录行。例如,将业务交易的数据存储在某些表中。从这些表中获取所有行是没有意义的,特别是对于员工、销售订单、采购订单、生产订单等大型表,因为我们通常需要一些特定的数据,例如本季度的销售额、今年的销售额与去年同期相比等

WHERE 子句允许您根据指定的过滤表达式或条件指定要选择的行。

您还将了解如何使用 LIMIT 子句来限制 SELECT 语句返回的行数。

2。 MySQL WHERE 子句示例

我们将继续使用示例数据库(yiibaidb)中表employees 中的数据,如下图所示。

假设只想从employees表中获取销售代表的员工,可以使用如下查询:

SELECT 
    lastname, firstname, jobtitle
FROM
    employees
WHERE
    jobtitle = 'Sales Rep';
-SQL

运行以上结果

虽然WHERE 子句出现在语句末尾,但MySQL首先使用WHERE子句中的表达式来选择匹配项。选择具有作品 销售代表 标题的行。

jobtitle = 'Sales Rep';
Shell

MySQL 从SELECT 子句中的选择列表中选择列。

可以形成一个像上面的查询一样的简单条件,也可以形成一个使用 AND、OR 等逻辑运算符组合多个表达式的非常复杂的示例。例如,要查找办公室代码 (officeCode ) 等于 1 的所有销售代表,请使用以下查询:

SELECT 
    lastname, firstname, jobtitle
FROM
    employees
WHERE
    jobtitle = 'Sales Rep' AND officeCode = 1;
SQL

执行上述查询后,我得到以下结果 -表中的

mysql> SELECT lastname, firstname, jobtitle FROM employees WHERE jobtitle = 'Sales Rep' AND officeCode = 1;
+----------+-----------+-----------+
| lastname | firstname | jobtitle  |
+----------+-----------+-----------+
| Jennings | Leslie    | Sales Rep |
| Thompson | Leslie    | Sales Rep |
+----------+-----------+-----------+
2 rows in set
Shell

比较运算符可用于过滤子句WHERE中的表达式。

运算符描述
=等于,您几乎可以将其与任何数据类型一起使用。
!= 不等于
大于,
= 大于或等于

以下查询使用不等于 (!=) 操作 Fu 来获取所有其他非 销售代表 员工:

SELECT 
    lastname, firstname, jobtitle
FROM
    employees
WHERE
    jobtitle <> 'Sales Rep';
Shell

运行上面的查询并得到以下结果 - ❝l 以下查询获取每个员工的办公室代码大于 5 : 具有 SQL

且办公室代码小于或等于 4(

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门