Lazy loaded image
理解 SQL 中的多条件复合查询
Words 1955Read Time 5 min
2025-10-1
2025-11-10
date
related_level
slug
sql_multi_condition
type
Post
relate_date
summary
利用AND/OR实现多条件筛选,对字段长度、数值及异常模式进行精确匹配
status
Published
tags
数据科学
SQL
最新推荐
category
数据科学
last_updated
Nov 10, 2025 10:03 PM
是否已更新
orginal_page
是否推荐
 

概述

理论基础:集合论的分配律
  • SQL对一个字段或一条记录(行)进行一次查询。如果想同时查询某个字段中多个不同的属性,如同时满足长度以及数值上的要求,则需要用AND以及OR来进行条件的拼接。
 

复合查询的例子

  • 如希望查询某个存放各种终止时间的字段ENDTIME,查询条件为长度小于11,且为数值,则可以写成LEN(NUM) ≤ 11 AND ISNUMERIC(NUM) = 1。
但如果希望进一步查询NUM里不同条件下具体的异常值,如当长度小于等于11时,NUM不符合该长度区间内的一系列正常表达(2019.01、2019.12.31等),当长度大于11时,NUM不符合该长度区间内的一系列正常表达(2019.01.01至2019.12.31、2019/01/01至2019/12/31等),情况会变得相对复杂,需要写成如下形式:
如果再加入之前的数值判断,则写成如下形式:
 
 

多条件复合查询拆解

SQL 语句模板
实例:日期异常值查询
 
上一篇
Openwrt DNS 管理
下一篇
SQL OVER语句与窗口函数

Comments
Loading...