———— 讲解如何使用SELECT语句的WHERE子句指定搜索条件

1. 子句书写注意

  • WHERE 子句的位置在表名后,ORDER BY前
  • 过滤应该在服务端过滤

    2. WHERE 子句操作符

    | 操作符 | 说明 | | —- | —- | | = | 等于 | | <> | 不等于 | | != | 不等于 | | < | 小于 | | > | 大于 | | <= | 小于等于 | | !< | 不小于 | | > | 大于 | | >= | 大于等于 | | !> | 不大于 | | BETWEEN | 在指定的两个值之间 | | IS NULL | 为NULL值 |

2.1 检查单个值

SELECT prod_name, prod_price FROM Products WHERE prod_price < 10;        -- 列出所有价格小于10美元的产品

2.2 不匹配检查

SELECT vend_id, prod_name FROM Products WHERE vend_id <> 'DLL01';        -- 列出所有不是供应商DLL01制造的产品
  • 注意:<>和!=可以互换,但并非所有的DBMS都支持这两种不等于操作符

    2.3 范围值检查

    SELECT prod_name, prod_price FROM Products WHERE prod_price BETWEEN 5 AND 10;        -- 列出所有价格在5到10美元之间的产品
    

    2.4 空值检查

    SELECT prod_name, prod_price FROM Products WHERE prod_name IS NULL;        -- 列出所有价格字段为NULL的产品
    

    注意:

  • NULL与字段为0,空字符串或仅仅包含空格不同

  • 在匹配过滤或非匹配过滤时,不会返回NULL的结果