MySQL必知必会-7、数据过滤

组合where子句

and操作符

select id,content,nickname from t_comment where id<11 and id>2;

 

select id,content,nickname,blog_id from t_comment where id>11 and blog_id=11;

 

 

 or操作符

select id,content,nickname from t_comment where id>11 or id<9;

 

 次序计算

where可包含任意数目的and和or操作。允许两者结合以进行复杂和高级的过滤。

select id,content,nickname,blog_id from t_comment where id>11 or id<9 and blog_id = 11; 

 

 显然上面的返回结果并没有按预期进行过滤。原因在于计算次序。SQL在处理or操作符前,优先处理and操作符。换句话说,由于and的优先级更高,操作符被错误的组合了。

正确操作方法,使用圆括号明确地分组相应地操作符

select id,content,nickname,blog_id from t_comment where (id>11 or id<9) and blog_id = 11; 

 

 IN操作符

select id,content,nickname,blog_id from t_comment where blog_id in (7,15) order by blog_id desc;

 

 NOT操作符

select id,content,nickname,blog_id from t_comment where blog_id not in (7,15) order by blog_id desc;

 

 

总结:本篇主要讲了如何使用and和or操作符,而且还讲了如何明确地管理计算的次序,如何使用IN和NOT操作符。

posted @ 2021-05-06 10:08  +D  阅读(74)  评论(0编辑  收藏  举报