最近在项目中看到一个查询语句,让我有兴趣去研究、研究。查询语句如下:

  重点分析第二个INNER JOIN  ON 1 = 1 这个语句;内连接表示查询两个表的交集,而且ON的条件为 1=1 就表示连接条件永远成立。

更确切的说就是将第二个INNER JOIN 前面的查询结果和后面的查询结果组装成一个结果进行返回。这就比较有意思了,因为这种查

询方式可以是两个完全不同的查询结果,并且只需要写一个查询语句,这在一定程度上提升了效率。以上面的查询为例trade_name, total

是一个查询结果;alltotal是另外一个查询结果,最后将这两个不同的查询结果合成为一个结果返回。这样既满足了业务的需求,也提高了

效率,所以有需要的时候还是值得借鉴一下。

  如果是常规做法可能会先做一个查询去查询trade_name, total和值;然后在做一个查询去查询alltotal的值;最后在代码中进行合并,

将最终的结果返回。比较一下这两种方式,还是只查询一次,代码更加的简洁,SQL语句的话也很好理解。不过这种查询方式只适用于

统计查询,或者是返回结果只有一行的情况。

  说明:添加双引号是因为Oracle查询时返回的列全部是大写的,而对应的实体类中列名是小写的,因此才添加双引号将Oracle查询的

结果变为小写,这样才能将结果正确的映射到实体类中。

inner join on 1=1 在查询中的高级用法的更多相关文章

  1. Nmap在实战中的高级用法(详解)

    @ 目录 Nmap在实战中的高级用法(详解) Nmap简单的扫描方式: 一.Nmap高级选项 1.查看本地路由与接口 2.指定网口与IP地址 3.定制探测包 二.Nmap扫描防火墙 1.SYN扫描 2 ...

  2. oracle 模糊查询中的转义字符用法

    drop view aaa; create view aaa as select '_BCDE' A FROM DUAL UNION ALL SELECT 'ABCDE' FROM DUAL UNIO ...

  3. Nmap在实战中的高级用法

    Nmap提供了四项基本功能(主机发现.端口扫描.服务与版本侦测.OS侦测)及丰富的脚本库.Nmap既能应用于简单的网络信息扫描,也能用在高级.复杂.特定的环境中:例如扫描互联网上大量的主机:绕开防火墙 ...

  4. 如何在EF中实现left join(左联接)查询

    在EF中,当在dbset使用join关联多表查询时,连接查询的表如果没有建立相应的外键关系时,EF生成的SQL语句是inner join(内联),对于inner join,有所了解的同学都知道,很多时 ...

  5. 分析比较多表查询中的IN与JOIN

    IN 是子查询的关键字,JOIN 是连接的关键字,项目开发中经常会使用到多表查询,而子查询与连接正是实现多表查询的重要途径.那两者是怎么运行的?IN与JOIN哪个更好?下面就来分析与比较. 现在有te ...

  6. 【翻译】Flink Table Api & SQL —Streaming 概念 ——在持续查询中 Join

    本文翻译自官网 :  Joins in Continuous Queries   https://ci.apache.org/projects/flink/flink-docs-release-1.9 ...

  7. 使用连接(JOIN)来代替子查询(Sub-Queries) mysql优化系列记录

    使用连接(JOIN)来代替子查询(Sub-Queries) MySQL从 4.1开始支持SQL的子查询.这个技术可以使用SELECT语句来创建一个单列的查询结果,然后把这个结果作为过滤条件用在另一个查 ...

  8. SQL多表查询中的分页,字段组合综合实例解析

    原文:http://www.jb51.net/article/28753.htm http://xuzhihong1987.blog.163.com/blog/static/2673158720098 ...

  9. 含有GROUP BY子句的查询中如何显示COUNT()为0的成果(分享)

    在SQL Server数据库查询中,为了对查询成果进行对比.解析,我们经常会用到GROUP BY子句以及COUNT()函数来对查询成果进行分类.统计等.然则我们在应用的过程中往往会存在一些题目,本文我 ...

  10. sql连接查询中on筛选与where筛选的区别

    sql查询这个东西, 要说它简单, 可以很简单, 通常情况下只需使用增删查改配合编程语言的逻辑表达能力,就能实现所有功能. 但是增删查改并不能代表sql语句的所有, 完整的sql功能会另人望而生畏. ...

随机推荐

  1. 随机 Transformer

    在这篇博客中,我们将通过一个端到端的示例来讲解 Transformer 模型中的数学原理.我们的目标是对模型的工作原理有一个良好的理解.为了使内容易于理解,我们会进行大量简化.我们将减少模型的维度,以 ...

  2. JAVA生成随机数工具类RandomStringUtils详解

    public static String random(int count, boolean letters, boolean numbers) /** * count 创建一个随机字符串,其长度是指 ...

  3. DBGrideh使用小结【EditorMode】当用户点击单元格的时候,自动进入编辑状态

    (1)控制一个单元格是否允许编辑(或者说文字选中),可以设置Grid的Options的dgEditing属性:如果该属性为False,那么用户只能选中该单元格而无法选中里面的内容,也无法进行编辑.(2 ...

  4. 用superxmlparser.pas的XMLParseString----XML转Json注意

    了解XML转成Json时候用的时候多了个#号: ---------------------------------------------------------------------------- ...

  5. ABC 305

    题目列表 前三题过水,第四题分类讨论两个端点之间的距离和所在位置是清醒或睡眠 即可. E 题意:一张图上有一些结点有保安,每个保安有不同的警戒度 \(h_i\),定义 一个结点是安全的 为这个结点可以 ...

  6. NC200195 区区区间

    题目链接 题目 题目描述 \(Keven\) 特别喜欢线段树,他给你一个长度为 \(n\) 的序列,对序列进行 \(m\) 次操作. 操作有两种: 1 \(1\ l\ r\ k\) :表示将下标在 \ ...

  7. 从零开始手写缓存框架(12)redis expire 过期的随机特性详解及实现

    前言 java从零手写实现redis(一)如何实现固定大小的缓存? java从零手写实现redis(二)redis expire 过期原理 java从零手写实现redis(三)内存数据如何重启不丢失? ...

  8. STM32F401+nRF24L01无线传输音频(对讲机原型)

    尝试结合STM32F401的ADC, PWM, SPI(NRF24L01)和TIM, 试验了一下音频的无线传输(对讲机原型) 工作机制 音频采样 因为硬件的限制, 包括STM32F401片内存储, 内 ...

  9. Js获取数据类型

    Js获取数据类型 JavaScript有着七种基本类型String.Number.Boolean.Null.Undefined.Symbol.Object,前六种为基本数据类型,Object为引用类型 ...

  10. Java设计模式-组合模式Composite

    介绍 组合模式(Composite Pattern),又叫部分整体模式,它创建了对象组的树形结构,将对象组合成树状结构以表示"整体-部分"的层次关系. 组合模式依据树形结构来组合对 ...