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表外只有一个表,不存在异议,无需提取别名。

相关推荐
coding-fun1 分钟前
电子发票批量提取导出合并助手
大数据·数据库
leo_2323 分钟前
备份&恢复--SMP(软件制作平台)语言基础知识之三十九
数据库·数据安全·开发工具·smp(软件制作平台)·应用系统
何以不说话6 分钟前
mysql 的主从复制
运维·数据库·学习·mysql
二二牧人6 分钟前
qemu arm64 linux开发环境搭建
linux·运维·数据库
茁壮成长的露露9 分钟前
导出导入工具mongoexport、mongoimport
数据库·mongodb
Coder_Boy_31 分钟前
基于SpringAI的在线考试系统-考试系统DDD(领域驱动设计)实现步骤详解
java·数据库·人工智能·spring boot
workflower1 小时前
软件需求规约的质量属性
java·开发语言·数据库·测试用例·需求分析·结对编程
橘子131 小时前
MySQL库的操作(二)
数据库·mysql·oracle
todoitbo2 小时前
多模数据库技术解析:以KingbaseES MongoDB兼容版为例
数据库·mongodb·kingbasees·金仓数据库
正在走向自律2 小时前
ksycopg2实战:Python连接KingbaseES数据库的完整指南
数据库·python·国产数据库·kingbase·kingbasees·数据库平替用金仓·ksycopg2