好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

MySQL WHERE子句使用实例讲解

摘要 : 在本章节中,您将学习如何在SELECT语句中使用MySQL WHERE子句来过滤结果集中的行。

 

MySQL WHERE子句简介

使用select语句查询数据时,如果没有使用 WHERE 子句,结果集中可能包括了无用的数据。一般来说,表的数据会随着业务的扩展,数据越来越多,从表中获取所有行并没有意义,特别是对于大表,如雇员,销售订单,采购订单,生产订单等,因为我们通常想要查询部分数据进行分析,例如本季度的销售或今年销售额比去年同期等等。

WHERE  子句允许您基于特定的表达式或条件指定要查询的精确行。

您还将学习如何使用LIMIT子句来约束 SELECT 语句返回的行数。

 

MySQL WHERE子句示例

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

假设,我们只想从 employees 表中获取员工的jobtitle为[Sales Rep],这时可以使用以下查询:

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

即使 WHERE 子句出现在语句的末尾,MySQL也会首先评估 WHERE 子句中的表达式以查询匹配的行。它查询jobtitle = 'Sales Rep'的所有数据行。

 jobtitle = 'Sales Rep'; 

然后,MySQL从 SELECT 语句中返回指定的字段lastname, firstname和jobtitle。

where子语句后面可以跟一个简单的条件表达式(如上面实例),也可以跟一个复杂的条件表达式,结合多个表达式与逻辑运算符,如AND,OR等。例如,查询jobtitle等于'Sales Rep' 并且 officeCode = 1的所有行数据。 mysql代码如下:

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

下表列出了可用于 WHERE 子句中形成过滤表达式的比较运算符。

操作员 描述
= 等于。几乎可以使用任何数据类型。
<>或!= 不等于。
< 小于。通常使用数字和日期/时间数据类型。
> 大于
<= 小于或等于
> = 大于或等于

以下mysql语句使用不等于运算符来获取不是销售代表的所有员工:

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

以下mysql语句查询officecode 大于5的所有员工数据:

 SELECT 
    lastname, firstname, officeCode
FROM
    employees
WHERE officecode > 5; 

officecode 小于或等于4(<= 4)的员工:

 SELECT 
    lastname, firstname, officeCode
FROM
    employees
WHERE officecode <= 4; 

 

更多关于MySQL WHERE子句

还有一些有用的运算符,您可以在 WHERE 子句中使用它们以形成更复杂的条件查询,例如:

BETWEEN 选择指定范围内的值。 LIKE 基于模式匹配匹配值。 IN 指定值是否与列表中的任何值匹配。 IS NULL检查值是否为NULL。

WHERE 子句不仅用于 SELECT 语句,还可以用于其他SQL语句来过滤行,例如DELETE和UPDATE。

在本教程中,我们向您介绍了如何使用MySQL WHERE子句根据条件过滤行。

查看更多关于MySQL WHERE子句使用实例讲解的详细内容...

  阅读:22次

上一篇

下一篇

第1节:MySQL AND运算符实例讲解    第2节:MySQL BETWEEN AND实例及边界值问题    第3节:MySQL DISTINCT去除及多字段实例讲解    第4节:MYSQL having实例及与where的区别    第5节:MySQL INNER JOIN多表连接及优化效率实例分析    第6节:MySQL group by having与聚合函数count sum使用实例讲解    第7节:MySQL LIKE通配符(%,_)及escape实例讲解    第8节:MySQL OR运算符使用实例优先级介绍    第9节:MySQL IN运算符实例讲解    第10节:MySQL LIMIT实例及取前N行数据    第11节:MySQL IS NULL判断值是否为NULL及优化详解    第12节:MySQL ORDER BY实例及性能优化分析    第13节:mysql order by如何实现自然排序    第14节:MySQL LEFT JOIN实例及优化分析    第15节:mysql 下载与安装    第16节:MySQL示例数据库下载    第17节:如何使用MySQL Workbench将样本数据库导入到MySQL数据库服务器    第18节:MySQL SELECT语句实例讲解    第19节:MySQL WHERE子句使用实例讲解    第20节:Mysql入门教程    第21节:MySQL Alias表别名、字段别名使用实例    第22节:MySQL自连接实例讲解