MYSQL过滤数据(三)WHERE

MySQL WHERE子句简介

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

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


MySQL WHERE子句示例

假设,我们只想从 employees 表中获取员工的jobtitle为“Sales Rep”,这时可以使用以下查询:
SELECT 
    lastname, firstname, jobtitle
FROM
    employees
WHERE
    jobtitle = 'Sales Rep';


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;

 

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

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

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




  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值