对一个sql的分析
select *
FROM LPEdorItem a, LCCont b, LPEdorApp c
WHERE a.edoracceptno = c.edoracceptno
and a.ContNo = b.ContNo
and b.appntno = '0000235356'
AND b.conttype = '1' --'2-集体总单,1-个人总投保单';
AND (c.AppType != '6' OR c.AppType is null) -- 申请方式
and a.edorvalidate >= trunc(sysdate) - 365
and a.edorvalidate <= trunc(sysdate)
and c.makedate between to_date('20190101', 'yyyy-mm-dd') and
to_date('20201117', 'yyyy-mm-dd')
and b.familytype <> '1'
and (case
when a.edorstate in ('0', 'j', '4', '9', 'c', 'd') and
(not exists (select 1
from ljaget t
where t.otherno = a.edoracceptno
and t.confdate is null
and t.sumgetmoney <> 0) or EXISTS
(SELECT 1
FROM LJMONETARYSTERILIZATIONB LJM
WHERE LJM.OTHERNO = A.contno)) then
'1'
else
'0'
end) = '1'
简化
-->>>>这两个是等同的
select *
from LPEdorItem a
where (case
when a.edorstate in ('0', 'j', '4', '9', 'c', 'd')then
'1'
else
'0'
end) = '1'
--------------------------------------------------------------------------------
select * from LPEdorItem a where a.edorstate in ('0', 'j', '4', '9', 'c', 'd')
解释: { when 条件 then '1'}= '1' 这等同于where条件 where a.edorstate in ('0', 'j', '4', '9', 'c', 'd')
select *
from LPEdorItem a
where (not exists (select 1
from ljaget t --实付总表
where t.otherno = a.edoracceptno
and t.confdate is null --财务确认日期
and t.sumgetmoney <> 0) --总给付金额
or EXISTS
(SELECT 1
FROM LJMONETARYSTERILIZATIONB LJM
WHERE LJM.OTHERNO = A.contno))
再简化
对一个sql的分析的更多相关文章
- Mybatis解析动态sql原理分析
前言 废话不多说,直接进入文章. 我们在使用mybatis的时候,会在xml中编写sql语句. 比如这段动态sql代码: <update id="update" parame ...
- 一个 Sql语句优化的问题- STATISTICS 统计信息
前段时间,同事遇到一个 Sql语句的问题,一个列表分页功能响应在30 s以上,看数据库里面的数据条数,数据量也不大,相关字段的一些索引也都有,可就是慢.于是找出具体的sql 语句出来分析,分页功能主要 ...
- 一个sql导致temp表空间爆掉
Buffer sort引发的血案 今天遇到的一个问题,在线系统上,有两张表,test1大概50G,test2大概200G,需要查询出来test1表中部分记录,并且这些记录不存在test2表中.于是就写 ...
- 自己实现一个SQL解析引擎
自己实现一个SQL解析引擎 功能:将用户输入的SQL语句序列转换为一个可运行的操作序列,并返回查询的结果集. SQL的解析引擎包含查询编译与查询优化和查询的执行,主要包含3个步骤: 查询分析: 制定逻 ...
- Spark SQL 源代码分析之 In-Memory Columnar Storage 之 in-memory query
/** Spark SQL源代码分析系列文章*/ 前面讲到了Spark SQL In-Memory Columnar Storage的存储结构是基于列存储的. 那么基于以上存储结构,我们查询cache ...
- Red Gate系列之七 SQL Search 1.1.6.1 Edition SQL查询分析工具使用教程
原文:Red Gate系列之七 SQL Search 1.1.6.1 Edition SQL查询分析工具使用教程 Red Gate系列之七 SQL Search 1.1.6.1 Edition SQL ...
- Spark SQL 源代码分析系列
从决定写Spark SQL文章的源代码分析,到现在一个月的时间,一个又一个几乎相同的结束很快,在这里也做了一个综合指数,方便阅读,下面是读取顺序 :) 第一章 Spark SQL源代码分析之核心流程 ...
- Spark SQL源代码分析之核心流程
/** Spark SQL源代码分析系列文章*/ 自从去年Spark Submit 2013 Michael Armbrust分享了他的Catalyst,到至今1年多了,Spark SQL的贡献者从几 ...
- MySQL 的性能(上篇)—— SQL 执行时间分析
简介 文中内容均为阅读前辈的文章所整理而来,参考文章已在最后全指明 本文分为上下两篇: 上篇:MySQL 的 SQL 执行时间分析 下篇:MySQL 性能优化 后端开发必然会接触到数据库,数据层的优劣 ...
随机推荐
- 好用的Java工具类库,GitHub星标10k+你在用吗?
简介 Hutool是Hu + tool的自造词,前者致敬我的"前任公司",后者为工具之意,谐音"糊涂",寓意追求"万事都作糊涂观,无所谓失,无所谓得& ...
- 在线博客转PDF电子书 | JS爬虫初探
最近在看一位大佬写的源码解析博客,平时上下班用手机看不太得劲,但是平板又没有网卡,所以就想搞个离线pdf版,方便通勤时间学习阅读. 所以,问题来了: 怎么把在线网页内容转成pdf? 这位大佬的博客是用 ...
- 关于WLS2中Ubuntu启用SSH远程登录功能,基于Xshell登录,支持Root
背景介绍 虽然WSL2提供了非常便利的访问Ubuntu目录的形式,但是仍然我们需要通过一个工具,比如XSHELL来实现对Ubuntu的SSH登录. 获取并安装Xshell 7 目前Xshell已经更新 ...
- 10.ODBC创建/读取Excel QT4
看到一篇MFC的参考链接:https://blog.csdn.net/u012319493/article/details/50561046 改用QT的函数即可 创建Excel //创建Excel v ...
- Prometheus+Grafana企业监控系统
Prometheus+Grafana企业监控系统 作者 刘畅 实验配置: 主机名称 Ip地址 controlnode 172.16.1.70/24 slavenode1 172.16.1.71/24 ...
- Redis 底层数据结构之字典
文章参考 <Redis 设计与实现>黄建宏 字典 在字典中,每个键都是独一无二的,程序可以在字典中根据键查找与之相关联的值,或者通过键来更新和删除值. 字典在 Redis 中的应用相当广泛 ...
- CRM系统对管理客户的帮助
我们可以把客户关系看做是一种长期的投资,在资源有限的基础上,把人力财力物力放到那些能够持续创造价值的客户身上,从而为企业带来源源不断的收益.通过进行客户关系管理,能够让企业与客户之间建立沟通的渠道,形 ...
- linux进程后台运行的几种方法 - nohup/setsid/&
linux进程后台运行的几种方法 - nohup/setsid/& [转载] 我们经常会碰到这样的问题,用 telnet/ssh 登录了远程的 Linux 服务器,运行了一些耗时较长的任务 ...
- Tomcat:启动tomcat服务报错没有权限
1.在linu上部署好tomcat后,准备启动时报错: Cannot find bin/catalina.sh The file is absent or does not have execute ...
- PHP安装amqp扩展 出现未装librabbitmq错误
这错误的原因是因为没有安装amqp的依赖包rabbitmq-c,需要先安装rabbitmq-c. 1.安装rabbitmq-c-0.7.1 没有安装就会提示上面的错误我选择的是最新版本0.7.1 wg ...