美文网首页我爱编程
【MySQL必知必会】第6、7章:数据过滤

【MySQL必知必会】第6、7章:数据过滤

作者: 100gle | 来源:发表于2018-04-06 22:05 被阅读20次

6.1 使用where子句

在检索数据时往往需要指定搜索条件,因此就需要使用WHERE子句来对条件进行过滤:

SELECT prod_name, prod_price 
FROM products 
WHERE prod_price = 2.50;
  • 限定条件之后就只返回当条件成立下的行
  • ORDER BY子句要位于WHERE后,否则会报错

6.2 逻辑运算符

WHERE语句可以搭配上逻辑运算符来进行条件筛选:

SELECT prod_name, prod_price 
FROM products 
WHERE 

#等于
prod_name = 'fuses';

#小于
prod_price < 10;

#小于等于

prod_price <= 10;

当然,还可以进行不匹配检索:

SELECT prod_name, prod_price 
FROM products 
WHERE vend_id <> 1003;

#等价于

WHERE vend_id != 10;

6.3 搭配其他关键字应用

6.3.1 区间BETWEEN AND

如果想查找某个区间范围内的值,可以在WHERE语句中搭配BETWEEN..AND关键字来进行:

SELECT prod_name, prod_price 
FROM products 
WHERE prod_price BETWEEN 5 AND 10;
  • 类似于BETWEEN..AND的还有IN关键字的用法,但是和前者不同的是,后者只能查找限定值里的行,即是否满足条件为限定值:
SELECT prod_name, prod_price 
FROM products 
WHERE prod_price IN (5,10);
  • 这里只会返回当prod_price=5或prod_price=10的结果,两者还是稍微有点区别的

6.3.2 IS关键字

除了可以搭配BETWEEN关键字之外,还能搭配IS关键字,用来查看当筛选条件为某个条件时所包含的记录:

SELECT prod_name 
FROM products 
WHERE prod_price IS NULL;

如果prod_price中有空值则返回,否则就不返回任何结果

6.3.3 AND和OR操作符

AND和OR操作符的使用可以使得WHERE条件查询子句可以实现多条件的筛选:

SELECT prod_name, prod_price 
FROM products 
WHERE vend_id = 1002 OR vend_id =1003 
AND prod_price >= 10;
  • 当AND和OR出现的时候,AND的计算优先级更高,此时的操作符会出现错误运用

正确的做法是将AND前面的条件用圆括号括起来

6.3.4 NOT关键字

NOT关键字与IS关键字是相反的操作,即否定NOT之后的条件

相关文章

网友评论

    本文标题:【MySQL必知必会】第6、7章:数据过滤

    本文链接:https://www.haomeiwen.com/subject/jvxehftx.html