等待下一个秋

  • Spark
  • Flink
  • Hive
  • 数据仓库
  • ClickHouse
  • 收徒弟
  • Java
    • Spring
    • Mybatis
    • SpringBoot
    • 面试题
  • Python
    • Python基础
    • 爬虫
    • Numpy
    • matplotlib
    • Flask
  • 技术杂谈
    • Linux知识
    • Docker
    • Git教程
    • Redis教程
    • mysql
    • 前端
    • R语言
    • 机器学习
  • 关于我
  • 其它
    • 副业挣钱
    • 资料下载
    • 资料文档
专注于Hadoop/Spark/Flink/Hive/数据仓库等
关注公众号:大数据技术派,获取更多学习资料。
  1. 首页
  2. 技术杂谈
  3. mysql
  4. 正文

MySQL WHERE子句使用实例讲解

2021年10月13日 607点热度 0人点赞 0条评论

摘要:在本章节中,您将学习如何在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
最后更新:2021年10月13日

等待下一个秋

待我代码写成,便娶你为妻!专注于Hadoop/Spark/Flink/Hive/数据仓库等,关注公众号:大数据技术派,获取更多学习资料。

打赏 点赞
< 上一篇
下一篇 >

文章评论

取消回复

等待下一个秋

待我代码写成,便娶你为妻!专注于Hadoop/Spark/Flink/Hive/数据仓库等,关注公众号:大数据技术派,获取更多学习资料。

搜一搜
微信
最新 热点 随机
最新 热点 随机
ChatGPT可以做什么 ClickHouse 自定义分区键 ClickHouse数据副本引擎 ClickHouse ReplacingMergeTree引擎 ClickHouse MergeTree引擎 clickhouse简介
张一鸣:大学四年收获及工作感悟 接下来的规划 美国总统选举实时结果 美国总统竞选人2020最新数据 Redis HyperLogLog 人间自有真情在 Matplotlib 指定颜色
标签聚合
Python mysql 数据仓库 Hive Flink Redis Java 书籍 挣钱 R语言 大数据 算法
文章归档
  • 2023年2月
  • 2022年12月
  • 2022年11月
  • 2022年9月
  • 2022年7月
  • 2022年6月
  • 2022年5月
  • 2022年4月
  • 2022年3月
  • 2022年2月
  • 2022年1月
  • 2021年12月
  • 2021年11月
  • 2021年10月
  • 2021年9月
  • 2021年8月
  • 2021年6月
  • 2021年5月
  • 2021年4月
  • 2021年3月
  • 2021年2月
  • 2021年1月
  • 2020年12月
  • 2020年11月
  • 2020年10月
  • 2020年9月
  • 2020年8月
  • 2020年7月
  • 2020年5月
  • 2020年4月
  • 2020年1月
  • 2019年9月
  • 2019年8月
  • 2019年7月
  • 2019年6月
  • 2019年5月
  • 2019年4月
  • 2019年3月
  • 2019年1月
  • 2018年12月
  • 2017年5月

©2022 ikeguang.com. 保留所有权利。

鄂ICP备2020019097号-1

鄂公网安备 42032202000160号