ITPub博客

首页 > 数据库 > Oracle > ORACLE SQL开发where子句之case-when

ORACLE SQL开发where子句之case-when

原创 Oracle 作者:清风艾艾 时间:2017-05-25 16:44:11 0 删除 编辑
    湖南长沙一地市医保数据抽取要求从结果集中排除掉城市职工(61)就医方式住院(61),城市居民31就医方式住院(21)的数据。其实,这一业务逻辑实现,可以
那scott方案下的数据表emp做实验。
   我要取的全部结果集:

   那我要排除掉部门30中的WARD和部门20中的ADAMS,该怎么实现呢?其实很简单,可以使用结果集做差,如下所示:

    其实,使用where子句的case-when有更优雅的实现方式:

   对比结果集的minus和where子句的case-when,前者的实现逻辑好理解就是从总的结果集中排除不要的结果,
后者实现是取符合要求的数据,就性能而言个人觉得第二种更好、代码也更优雅。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29357786/viewspace-2139873/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
个人喜欢IT行业,目前从事数据库工作,包括Oracle、mysql、mongodb、sqlserver等数据库的维护,喜欢专研开发技术,尤其对java程序的开发感兴趣。工作经历上,在中国联通系统集成公司、中公网医疗信息技术有限公司做过数据库技术支持;目前在海量数据,负责华东区oracle、mysql、mongodb的维护工作。

注册时间:2015-01-30

  • 博文量
    251
  • 访问量
    544850