MySQL WHERE数据过滤(一)

本文详细介绍了SQL查询语言中WHERE子句的使用方法,包括基本语法、条件操作符的应用及如何进行单个值检查、范围值检查等。通过具体实例展示了如何筛选数据,帮助读者更好地理解和掌握SQL查询技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

说明:本文所使用的数据库样例表创建脚本下载地址:https://github.com/zhaoxd298/mysql_scripts

  在SELECT语句中,可以对数据根据WHERE子句指定的搜索条件进行过滤。WHERE子句在表名(FROM子句)之后给出,其格式如下所示:

SELECT 列名
FROM 表名
WHERE 搜索条件;

WHERE子句位置:WHERE子句应位于表名(FROM子句)之后。在同时使用ORDER BY子句时,ORDER BY应该位于WHERE之后,否则将产生错误。

1.WHERE子句操作符
  下表列出WHERE子句的所有条件操作符:
 这里写图片描述

2.检查单个值

下面例子列出产品名为fuses的产品:

mysql> SELECT prod_name, prod_price
    -> FROM products
    -> WHERE prod_name = 'fuses';

执行结果:
这里写图片描述

下面例子列出价格小于10美元的所有产品:

mysql> SELECT prod_name, prod_price
    -> FROM products
    -> WHERE prod_price <= 10;

执行结果:
这里写图片描述

3.不匹配检查

  以下例子列出不是由供应商1003制造的所有产品:

mysql> SELECT vend_id, prod_name    
    -> FROM products
    -> WHERE vend_id <> 1003;

运行结果:
这里写图片描述

符号“!=”和“<>”的作用是相同的,下面用“!=”实现上面例子:

mysql> SELECT vend_id, prod_name    
    -> FROM products
    -> WHERE vend_id != 1003;

4.范围值检查

  BETWEEN操作符用于检查某个范围的值。其语法和其他WHERE语法稍有不同,如下所示:

WHERE 列名 BETWEEN 最小值 AND 最大值;

  下面例子检索出价格在5美元到10美元之间的所有产品:

mysql> SELECT prod_name, prod_price
    -> FROM products
    -> WHERE prod_price BETWEEN 5 AND 10;

运行结果:
这里写图片描述

5.空值检查

  在创建表时,表设计人员可以指定其中的列是不是可以不包含值。在一个列不包含值时,称其为包含空值NULL。子句IS NULL用来检查具有NULL值的列,其语法如下:

WHERE 列名 IS NULL;

  下面例子列出没有电子邮件地址的顾客:

mysql> SELECT cust_id
    -> FROM customers
    -> WHERE cust_email IS NULL;

运行结果:
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值