数据库入门:MySQL必知必会(六)过滤数据


使用SELECT语句的WHERE子句指定搜索条件

01. 使用WHERE子句

数据库表一般包含大量的数据,很少需要检索表中所有行。通常只会根据特定操作或报告的需要提取表数据的子集。只检索所需数据需要指定搜索条件(search criteria),搜索条件也称为过滤条件(filter condition)。

  1. 在SELECT语句中,数据根据WHERE子句中指定的搜索条件进行过滤;
    数据库入门:MySQL必知必会(六)过滤数据
    数据库入门:MySQL必知必会(六)过滤数据
  2. 从products表中检索两个列,但不返回所有行,只返回prod_price值为2.50的行;
  3. 同时使用ORDER BY和WHERE子句时,应该让ORDER BY位于WHERE之后

02. WHERE子句操作符

数据库入门:MySQL必知必会(六)过滤数据

  1. 检查单个值: 检查WHERE prod_name=‘fuses’语句,它返回prod_name的值为Fuses的一行,MySQL在执行匹配时默认不区分大小写,所以fuses与Fuses匹配;
    数据库入门:MySQL必知必会(六)过滤数据
    1.1 列出价格小于10美元的所有产品:
    数据库入门:MySQL必知必会(六)过滤数据
    1.2 检索价格小于等于10美元的所有产品:
    数据库入门:MySQL必知必会(六)过滤数据
    数据库入门:MySQL必知必会(六)过滤数据
  2. 不匹配检查: 列出不是由供应商1003制造的所有产品;
    数据库入门:MySQL必知必会(六)过滤数据
    数据库入门:MySQL必知必会(六)过滤数据
  3. 范围值检查: 为了检查某个范围的值,可使用BETWEEN操作符,其语法与其他WHERE子句的操作符稍有不同,因为它需要两个值,即范围的开始值和结束值
    数据库入门:MySQL必知必会(六)过滤数据
  4. 空值检查: SELECT语句有一个特殊的WHERE子句,可用来检查具有NULL值的列,这个WHERE子句就是IS NULL子句;
    数据库入门:MySQL必知必会(六)过滤数据
    4.1 这条语句返回没有价格(空prod_price字段,不是价格为0)的所有产品,由于表中没有这样的行,所以没有返回数据;
    数据库入门:MySQL必知必会(六)过滤数据
    4.2 customers表确实包含有
    具有空值的列
    ,如果在文件中没有某位顾客的电子邮件地址,则cust_email列将包含NULL值

03.下一篇:数据过滤