SQL系列—— 过滤(where)

Posted 怀瑾握瑜

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL系列—— 过滤(where)相关的知识,希望对你有一定的参考价值。

在日常的应用中的,大多数业务场景都只是需要特定的数据,所以能够过滤筛选数据显得尤为至关重要。从需求角度分析,需要特定的数据,即需要一定条件的数据,即从全量数据中根据特定条件过滤出需要的数据。

如果需要实现这种需求,从SQL角度出发,SQL必然能够有特殊的部分能否表述特定条件。正如,SQL中使用where关键字来表示条件。称为:检索条件或者过滤条件。

1.语法

在SELECT语句中,数据根据WHERE子句中指定的搜索条件进行过滤。WHERE子句在表名(FROM子句)之后给出:

SELECT column1, column2...columnN FROM table_name WHERE column1 = ‘?‘

注:在同时使用ORDER BY和WHERE子句时,应该让ORDER BY位于WHERE之后,否则将会产生错误。

2.条件

事物之间的关系纷繁复杂,在数据库中的数据之间也不例外。where条件就可以看成是描述数据能满足的某些因素,这种满足关系非常多。大致可以描述为:

  • 算术上的值关系
  • 逻辑上的逻辑关系

对此还可以再进行细分:

值关系:等于(=)、大于(>)、小于(<)、不等于(<>或者!=)、在什么之间(BETWEEN)、不在什么里(IN)、不在什么里(NOT IN)、大于等于(>=)、小于等于(<=)、不大于(!>)、不小于(!<)、空值(NULL)

逻辑关系:AND(与)、OR(或者)、NOT(非)

条件过滤不外于这些关系。

参考

《SQL必知必会》

以上是关于SQL系列—— 过滤(where)的主要内容,如果未能解决你的问题,请参考以下文章

sql片段

SQL 优化技术系列: 谓词下推

牛客刷题--SQL篇SQL9查找除复旦大学的用户信息&&SQL10用where过滤空值练习

Mybatis -- 动态Sql概述动态Sql之<if>(包含<where>)动态Sql之<foreach>sql片段抽取

sql片段的定义

如果不为空,SQL 将在 Where 中包含条件