inner join on 1=1 在查询中的高级用法
最近在项目中看到一个查询语句,让我有兴趣去研究、研究。查询语句如下:

重点分析第二个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 在查询中的高级用法的更多相关文章
- Nmap在实战中的高级用法(详解)
@ 目录 Nmap在实战中的高级用法(详解) Nmap简单的扫描方式: 一.Nmap高级选项 1.查看本地路由与接口 2.指定网口与IP地址 3.定制探测包 二.Nmap扫描防火墙 1.SYN扫描 2 ...
- oracle 模糊查询中的转义字符用法
drop view aaa; create view aaa as select '_BCDE' A FROM DUAL UNION ALL SELECT 'ABCDE' FROM DUAL UNIO ...
- Nmap在实战中的高级用法
Nmap提供了四项基本功能(主机发现.端口扫描.服务与版本侦测.OS侦测)及丰富的脚本库.Nmap既能应用于简单的网络信息扫描,也能用在高级.复杂.特定的环境中:例如扫描互联网上大量的主机:绕开防火墙 ...
- 如何在EF中实现left join(左联接)查询
在EF中,当在dbset使用join关联多表查询时,连接查询的表如果没有建立相应的外键关系时,EF生成的SQL语句是inner join(内联),对于inner join,有所了解的同学都知道,很多时 ...
- 分析比较多表查询中的IN与JOIN
IN 是子查询的关键字,JOIN 是连接的关键字,项目开发中经常会使用到多表查询,而子查询与连接正是实现多表查询的重要途径.那两者是怎么运行的?IN与JOIN哪个更好?下面就来分析与比较. 现在有te ...
- 【翻译】Flink Table Api & SQL —Streaming 概念 ——在持续查询中 Join
本文翻译自官网 : Joins in Continuous Queries https://ci.apache.org/projects/flink/flink-docs-release-1.9 ...
- 使用连接(JOIN)来代替子查询(Sub-Queries) mysql优化系列记录
使用连接(JOIN)来代替子查询(Sub-Queries) MySQL从 4.1开始支持SQL的子查询.这个技术可以使用SELECT语句来创建一个单列的查询结果,然后把这个结果作为过滤条件用在另一个查 ...
- SQL多表查询中的分页,字段组合综合实例解析
原文:http://www.jb51.net/article/28753.htm http://xuzhihong1987.blog.163.com/blog/static/2673158720098 ...
- 含有GROUP BY子句的查询中如何显示COUNT()为0的成果(分享)
在SQL Server数据库查询中,为了对查询成果进行对比.解析,我们经常会用到GROUP BY子句以及COUNT()函数来对查询成果进行分类.统计等.然则我们在应用的过程中往往会存在一些题目,本文我 ...
- sql连接查询中on筛选与where筛选的区别
sql查询这个东西, 要说它简单, 可以很简单, 通常情况下只需使用增删查改配合编程语言的逻辑表达能力,就能实现所有功能. 但是增删查改并不能代表sql语句的所有, 完整的sql功能会另人望而生畏. ...
随机推荐
- 语义检索系统之排序模块:基于ERNIE-Gram的Pair-wise和基于RocketQA的CrossEncoder训练的单塔模型
语义检索系统之排序模块:基于ERNIE-Gram的Pair-wise和基于RocketQA的CrossEncoder训练的单塔模型 文本匹配任务数据每一个样本通常由两个文本组成(query,title ...
- 4.5 Windows驱动开发:内核中实现进程数据转储
多数ARK反内核工具中都存在驱动级别的内存转存功能,该功能可以将应用层中运行进程的内存镜像转存到特定目录下,内存转存功能在应对加壳程序的分析尤为重要,当进程在内存中解码后,我们可以很容易的将内存镜像导 ...
- 火山引擎ByteHouse:分析型数据库如何设计并发控制?
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 分析型数据库设计并发控制的主要原因是为了确保数据的完整性和一致性,同时提高数据库的吞吐量和响应速度.并发控制可以防 ...
- 【进阶篇】Java 实际开发中积累的几个小技巧(一)
目录 前言 一.枚举类的注解 二.RESTful 接口 三.类属性转换 四.Stream 流 五.判空和断言 5.1判空部分 5.2断言部分 文章小结 前言 笔者目前从事一线 Java 开发今年是第 ...
- .NET Core开发实战(第35课:MediatR:让领域事件处理更加优雅)--学习笔记
35 | MediatR:让领域事件处理更加优雅 核心对象 IMediator INotification INotificationHandler 这两个与之前的 Request 的行为是不一样的, ...
- ABC 340
忘记打了,VP 了一把,前五题都是板子. F 题意:坐标系上给定一个整点 \((x,y)\),求另一个整点 \((a,b)\),满足 \((0,0),(x,y),(a,b)\) 组成的三角形面积为 \ ...
- 迟来的HIT2024和realworld2024体验赛WP
目录 前言碎语 2024.2.14 中午 rwctf2024 体验赛 vision 哈工大青训营2024 结营赛 计算器 小技巧 神奇玩意 gdb! 再也不用苦哈哈往回翻 跟踪fork 赛后复现rw ...
- 按奇偶排序数组II
按奇偶排序数组II 给定一个非负整数数组A,A中一半整数是奇数,一半整数是偶数. 对数组进行排序,以便当A[i]为奇数时,i也是奇数:当A[i]为偶数时,i也是偶数. 你可以返回任何满足上述条件的数组 ...
- SpringCloud 注册中心Consul实战
介绍 Consul是HashiCorp公司推出的开源工具,Consul由Go语言开发,部署起来非常容易,只需要极少的可执行程序和配置文件,具有绿色.轻量级的特点.Consul是分布式的.高可用的. 可 ...
- Java使用正则表达式判断字符串中是否包含某子字符串
需求: 给定一个字符串s,判断当s中包含"tree fiddy"或"3.50"或"three thirty"子字符串返回true,否则返回f ...