场景:查找某张表中某一列的所有符合某种条件的条目的累加和,且该表和另一张表相关联

查询语句:

select DISTINCT
ifnull((select sum(‘列名’) from a, b where a.id = b.id and a.condition=condition1 and b.condition = condition2),0) as '条件1下的数据' ,
ifnull((select sum(‘列名’) from a, b where a.id = b.id and a.condition=condition3 and b.condition = condition4),0) as '条件2下的数据'
from a, b where a.id = b.id 

缺点:数据量一太大就会be崩溃

优化后语句:

select ‘别名1’, ‘别名2’
from
(select IFNULL(sum(‘列名’),0) ‘别名1’ from a, b where a.id = b.id and a.condition=condition1 and b.condition = condition2),0) t1
left join
(select IFNULL(sum(‘列名’),0) ‘别名2’ from a, b where a.id = b.id and a.condition=condition3 and b.condition = condition4) t2 on 1=1

left join查询比select嵌套查询效率高的原因:执行子查询时,MYSQL需要创建临时表,查询完毕后再删除这些临时表,所以,子查询的速度会受到一定的影响,这里多了一个创建和销毁临时表的过程。

参考:

https://www.cnblogs.com/skysowe/p/9117099.html

https://www.jianshu.com/p/cb1e14c0ac39

MySQL两表联查,根据不同条件获得不同数据相关推荐

  1. mysql 多子表联查_MySQL-子查询和多表联查

    1.多表联查 使用多表联查的场景,有些时候数据在不同的表中,这个时候我们就需要用到mysql中的多表联查. 2.多表联查概念 将两个或两个以上的表按某个条件连接起来,从而选取需要的数据.多表联查是同时 ...

  2. thinkjs——两表联查

    问题来源: 现有一张texture以及一张tradename表,两者的联系是texture表中有一字段名为tid对应tradename表中的id,而tradename表中却有一字段type,要求根据t ...

  3. oracle两表联查分页公式,Oracle中分页查询和联表查询

    1.使用ROWNUM伪列查询 1.1.查询十条数据(rownum<=n) SELECT ROWNUM,A.* FROM v_sjjx_unit_info A WHERE ROWNUM<=1 ...

  4. 数据库两表联查、多表联查,多重联查

    数据库两表联查.多表联查,多重联查 表连接查询 [小编用的是Oracle数据库,Oracle数据库区分表名与字段名的大小写,所以大家进行查询的时候记得注意双引号哟~] 有表 表名:AAA 字段: id ...

  5. mysql join 组合索引_详解MySQL两表关联的连接表创建单列索引还是组合索引最优...

    概述 今天主要介绍一下MySQL中两表关联的连接表是如何创建索引的相关内容,下面来看看详细的介绍. MySQL两表关联的连接表创建索引 创建数据库的索引,可以选择单列索引,也可以选择创建组合索引. 假 ...

  6. yii2.0AR两表联查

    首先,建两个关联表. 表一 -- Table structure for article -- ---------------------------- DROP TABLE IF EXISTS `a ...

  7. mysql 多表联查_MySQL的多表联查

    今天是周二,我们一起来研究下MySQL的多表联查啊.或许你也知道,表之间的关系有:1对1.1对多.多对多.然后...... 1. 嵌套查询:一个查询的结果是另外sql查询的条件 如:查询stu表中年龄 ...

  8. MySQL十表联查快速得到结果_MySQL 多表联查

    1. 多表联查心德 # 1. 分析需求 # 2. 确定表与表的关联做为判断条件 # 3. 确定每表要获取的数据 # 4. 查找所需的表内容加上条件 2. 查询练习 #1.查看表结构 mysql> ...

  9. mysql多表联查分页_sqlserver多表联合查询和多表分页查询的代码讲解

    sqlserver多表联合查询和多表分页查询的代码讲解 发布时间:2020-05-14 14:42:07 来源:亿速云 阅读:700 作者:Leah 这篇文章主要为大家详细介绍了sqlserver多表 ...

最新文章

  1. GIS+=地理信息+云计算技术——Spark集群部署
  2. 我是AI产品经理,就必须掌握AI技术吗?
  3. C语言中的itoa和atoi函数的实现
  4. DLL返回自定义结构的数组
  5. Altium designer--变压器封装图
  6. java 静态对象数组_Java静态方法和实例方法 java中的数组作为形参传入
  7. 无用的设计模式之装饰者模式
  8. 本地psql连接远程Oracle虚拟机_03
  9. 推荐两个漂亮的编程字体
  10. 硬件基础知识(12)---为什么我的处理器这么耗电?原因不只是一个小小的限流电阻.
  11. 轻松做性能测试,月入3万的主流测试工具大揭秘
  12. SQL数据库的使用:创建表结构
  13. 代码管理学:遇到技术难题,要知道找谁
  14. Maker工作室_激光雕刻机使用方法
  15. Flask框架学习笔记10-jinjia2模板继承实例
  16. unity修改默认字体
  17. Graphics2D图片合成
  18. 塞拉利昂一公司计划投资10亿美元用于建设光伏农业项目
  19. [RF] 安装好Robot Framework之后怎样让启动的界面后面不带命令行窗口,且图片以机器人显示...
  20. edge浏览器 查看MD文件

热门文章

  1. 【实用】MB52库存报表转网格格式
  2. 【MM模块】MRP Running — Lot Size 批量大小
  3. 【重复制造精讲】2、主数据介绍
  4. FD32 查询客户信贷管理中,销售值是怎么来的?
  5. 2015各地高温补贴发放标准时间一览表
  6. 图解:sap中的账户确定(账户决定或者科目确定)如何实现如总账的集成
  7. SUBMIT - selscreen_parameters
  8. 食品新消费的2021:站在逻辑跑通与成为品牌的隧道期
  9. 深圳“拍了拍”长沙:美食巨头文和友、茶颜、徐记海鲜正在“排队”签收
  10. 种草之火,何以燎原?