SQL实践语句:筛选表中异常数据!关键词:EXISTS

语句示例

sql 复制代码
SELECT COUNT(1) FROM
			(SELECT T.CUSTOMERCODE,T.CUSTOMERNAME,T.RECSTS,T.INDATTRODE,T.COUNTRYCODE,T.SAFECODE,T.REGIONCODE,T.ECONTYPECODE
			FROM WHJH.TBL_CODECUSTOMER_NEW T 
			WHERE
			T.BATCHNO>=(SELECT BATCHNO FROM WHJH.TBL DATAFILE_MAKE_BATCHNO) -6 ) A
WHERE
A.CUSTOMERNAME IS NULL
OR A.RECSTS IS NULL 
OR A.INDATTRCODE IS NULL
OR NOT EXISTS (SELECT 1 FROM WHJH.TBL_CODECOUNTRM WHERE A.COUNTRYCODE=COUNTRYCODE)
OR NOT EXISTS (SELECT 1 FROM WHOH.TL CODESAFE WHERE A.SAFECODE=SAFECODE)
OR NOT EXISTS (SELECT 1 FROM WHJH.TBL.CODEREGION WHERE A.REGIONCODE=REGIONCODE)
OR NOT EXISTS (SELECT 1 FROM WHJH.CODEECONTYPE WHERE A.ECONTYPECODE=ECONTYPECODE)

语句解读

1、优化目标集合

将条件查询出来的结果集作为新的结果集,用以作为下一步数据筛选的目标集。减少了全表扫描,提升了查询速度。

sql 复制代码
//改进前
SELECT T.CUSTOMERCODE,T.CUSTOMERNAME,T.RECSTS,T.INDATTRODE,T.COUNTRYCODE,T.SAFECODE,T.REGIONCODE,T.ECONTYPECODE
FROM WHJH.TBL_CODECUSTOMER_NEW T 
WHERE
T.BATCHNO>=(SELECT BATCHNO FROM WHJH.TBL DATAFILE_MAKE_BATCHNO) -6 
AND '子查询'...

//改进后
SELECT COUNT(1) FROM
			(SELECT T.CUSTOMERCODE,T.CUSTOMERNAME,T.RECSTS,T.INDATTRODE,T.COUNTRYCODE,T.SAFECODE,T.REGIONCODE,T.ECONTYPECODE
			FROM WHJH.TBL_CODECUSTOMER_NEW T 
			WHERE
			T.BATCHNO>=(SELECT BATCHNO FROM WHJH.TBL DATAFILE_MAKE_BATCHNO) -6 ) A
WHERE
'子查询' 
AND '子查询'...

2、exists字句注意

例句中的相关语句为:

sql 复制代码
NOT EXISTS (SELECT 1 FROM WHJH.TBL_CODECOUNTRM WHERE A.COUNTRYCODE=COUNTRYCODE)

解读1:之所以,SELECT 1,是因为EXISTS只为了判断集合中是否存在该语句。

解读2:之所以,TBL_CODECOUNTRM 没有再提取别名,是因为字句中除了A表外只有一个表,不存在异议,无需提取别名。

相关推荐
不可求~8 小时前
多模型路由怎么落地:把任务分流写进项目的最小实现
java·前端·数据库
Lumistory8 小时前
城市建筑照明的落地与长效运营观察
大数据·数据库·中间件·光照贴图
布莱克60510 小时前
理解 MySQL 架构:从连接层到存储引擎
mysql
围炉聊科技11 小时前
长期免费的数据库方案——零成本基建系列
数据库
AC赳赳老秦11 小时前
公开图片 OCR 数据提取:OpenClaw 合规采集公开信息图,识别文字与表格并转化为结构化数据
java·大数据·前端·数据库·python·php·openclaw
bransyin12 小时前
一个 SQL 字段到底是怎么算出来的?我做了一个能给出“证据”的血缘工具
大数据·sql·ai·血缘
梁辰兴13 小时前
软件工程:数据结构设计
数据库·软件工程·设计原则·设计方法·梁辰兴·数据库结构设计·数据库结构类型
AC赳赳老秦13 小时前
风控岗应用:OpenClaw 采集公开司法与经营异常数据,自动生成企业风险评估报告
大数据·c语言·数据库·人工智能·python·php·openclaw
灯澜忆梦14 小时前
【MySQL18】进阶篇 | MySQL管理
数据库·mysql
zcmodeltech14 小时前
智能制造教学实训沙盘模型多系统协同控制系统设计:基于STM32与Modbus RTU的工业机器人-智慧工厂-数字孪生全场景联动方案
数据库·stm32·嵌入式硬件·机器人·制造·多分类