MySQL WHERE数据过滤(一)

来源:互联网 发布:linux 备份 编辑:程序博客网 时间:2024/06/07 18:02

说明:本文所使用的数据库样例表创建脚本下载地址: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;

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

原创粉丝点击