MySql系列(六):数据过滤

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Mrs_chens/article/details/90109546

数据过滤


今天博主将为大家分享一下MySql的数据过滤,不喜勿喷,如有异议欢迎讨论!

以下所写内容均与以前的文章有联系可以前往博文查看,陈永佳的博客


WHERE子句

在我们使用数据库时,通常只会根据特定条件提取表数据的子集。只检索所需数据需要指定搜索条件(search criteria),搜索条件也称为过滤条件(filtercondition)。

SELECT name, age FROM sys_user WHERE age=18;

返回age=18的行
WHERE子句支持的操作符
= 等于
<> 不等于
!= 不等于
< 小于
<= 小于等于

大于
= 大于等于
BETWEEN 在指定的两个值之间

eg:
//获取age大于20的数据
SELECT name,age FROM sys_user WHERE age>20; 

//获取age在12到18之间的数据,包括12和18
SELECT name,age FROM sys_user WHERE age BETWEEN 12AND 18; 
另一个特殊子句
IS NULL用来返回为空的数据

SELECT name, age FROM sys_user  WHERE name IS NULL;
比较运算符在这里插入图片描述
组合WHERE子句
使用AND或者OR子句,组合WHERE子句

//查询age=20并且name='cyj'的数据
SELECT name,age FROM sys_user WHERE age=20 AND name='cyj'; 

 //查询age=20或者age=50的数据
SELECT name,age FROM sys_user WHERE age=20 OR age=50;

AND和OR可以同时使用,不过AND的优先级高于OR,所以会先处理AND操作符,
另外可以用括号分组,明确的显示优先级.
IN操作符

指定条件范围,范围中的每个条件都可以进行匹配。IN取合法值的由逗号分隔的清单,全都括在圆括号中。

//查询age在18,19或20…的所有数据,功能与OR相似.
SELECT name,age FROM sys_user WHERE age IN (18,19,20,21,22,23);

IN相比于OR的一些好处:

1)在使用长的合法选项清单时,IN操作符的语法更清楚且更直观。
2)在使用IN时,计算的次序更容易管理
3)IN操作符一般比OR操作符清单执行更快
4) IN的可以包含其他SELECT语句,使得能够更动态地建立WHERE子句
NOT操作符

否定它之后所写的任何条件。

//查询age不在18,19或20的所有数据,功能与OR相似.
SELECT name,age FROM sys_user WHERE age NOT IN (18,19,20);
BETWEEN与日期类型(NOT BETWEEN与之相反)

当使用BETWEEN运算符与日期类型值时,要获得最佳结果,应该使用类型转换将列或表达式的类型显式转换为DATE类型。

要查询获取所需日期(requiredDate)从2013-01-01到2013-01-31的所有订单,但是这里要注意(查询的日期AND后面的默认为2019-5-11 00:00:00)也就是说无法查询出2019-05-11当天日期。

SELECT orderNumber,
         requiredDate,
         status
FROM jmccsm_orders
WHERE requireddate
    BETWEEN CAST('2019-05-01' AS DATE)
        AND CAST('2019-5-11' AS DATE);

想知道怎么办么,请持续关注博主的博文(前台、后台、sql都可以处理哦)。

LIMIT

在SELECT语句中使用LIMIT子句来约束结果集中的行数。LIMIT子句接受一个或两个参数。两个参数的值必须为零或正整数。

语法:
在这里插入图片描述

使用通配符过滤

LIKE操作符(NOT LIKE与之相反)
%通配符
%可以匹配表示任何字符出现任意次数

//可以匹配任何name以a开头的数据
SELECT name FROM sys_user WHERE name LINK 'cyj%';  
通配符

下划线(_)。下划线只匹配单个字符,用法同%

注意
不要过度使用通配符。

如果其他操作符能达到相同的目的,应该使用其他操作符。

尽量不要把它们用在搜索模式的开始处,因为速度会很慢

最后

  • 更多参考精彩博文请看这里:陈永佳的博客

  • 喜欢博主的小伙伴可以加个关注、点个赞哦,持续更新嘿嘿!

猜你喜欢

转载自blog.csdn.net/Mrs_chens/article/details/90109546
今日推荐