【SQL必知必会】笔记 过滤条件

过滤数据:WHERE子句

根据where子句中指定的搜索条件进行过滤

  1. 筛选价格为2.5元的产品的产品名称和产品价格
SELECT prod_name, prod_price FROM products WHERE  prod price=2.50;
  1. 除了等于之外,where还有一系列操作符,如下图所示。

在这里插入图片描述

SELECT vend_id, prod_name FROM products WHERE vend _id > 1003;
SELECT prod_name, prod_price FROM products WHERE  prod_price BETWEEN 5 AND 10;

除了上图所示的操作符,还有IS NULL(为NULL值)。

SELECT prod_name FROM products WHERE prod_price IS NULL;
  1. SQL中引号用法
SELECT vend_id, prod_name FROM products WHERE vend _id <> 'DLL01';

单引号限定字符串,将值与串类型的列进行比较,需要限定引号。
用来与数值列进行比较不用引号 。

数据高级过滤:and,or,in,not用法

  1. AND:多条件同时满足(“且”)
SELECT prod_id, prod_price, prod_name FROM products WHERE vend_id = 1003 AND prod_price <= 10;
  1. OR:满足任一条件即可(“或”)
SELECT prod_name, prod_price FROM products WHERE vend_id = 1002 OR vend_id = 1003;
  1. 筛选出满足ID等于价格大于10且1002或1003的产品的产品名称和产品价格
SELECT prod_name, prod_price FROM products WHERE (vend id = 1002 OR vend id = 1003) AND prod price >= 10;

注意:跟数学的算式一样,需要对前面加上圆括号,不然就会筛选出ID为1003或者ID为1002且价格大于10的产品,不符合要求。

  1. IN操作符用来指定条件范围,范围中的每个条件都可以进行匹配。 IN的条件之间用逗号分隔,全都括在圆括号中。
SELECT prod_name, prod_price FROM products WHERE vend_id IN (1002,1003);

in和or具有相同的筛选功能,用法上更简洁

  1. NOT用法:否定它之后所跟的任何条件。
    即筛选ID不是1002或者1003的产品
SELECT prod_name, prod_price FROM products WHERE vend_id NOT IN (1002,1003);

猜你喜欢

转载自blog.csdn.net/qq_41855768/article/details/83956020