MySQL left join 20161024
公司OA系统上部门上线了一套流程,总部和分公司部门提数据需求都要走线上流程,审批,想想也是不错的,能和绩效更加合理的挂钩,还有打分评价,双向互动。
下午接到一个需求,查看某分公司上周订单使用优惠券情况,公司数据库里有一个表是优惠券的,每个订单编号后面跟着这个订单的订单金额,使用优惠券金额,
这个数据需求了解的主要是优惠券支出在营业额中的占比,因此上来看到需求,脑子里首先想到的是left join 一个是优惠券表一个是订单表 通过订单ID 连接。
一开始考虑少了,以优惠券表为主表,再去连接的订单表,做完发现一个现象,有使用优惠券的订单ID 居然没有订单额,后来想了想,和实际业务偏离了一下,下订单过程中使用优惠券,如果退货掉这条记录会为null 因此 要以订单表为主表 再以优惠券为从表,这样,所有订单使用优惠券的情况就出来了
因此 left join 主表最好是全面的表,用小的条件挂靠在大的表里,再去进行条件筛选
MySQL left join 20161024的更多相关文章
- MySQL Left Join,Right Join
		
魂屁,东西发这里了关于Left Join,Right Join的 在讲MySQL的Join语法前还是先回顾一下联结的语法,呵呵,其实连我自己都忘得差不多了,那就大家一起温习吧(如果内容有错误或有疑问, ...
 - MySQL Full Join的实现
		
MySQL Full Join的实现 由于MySQL不支持FULL JOIN,以下是替代方法 left join + union(可去除反复数据)+ right join select * from ...
 - mysql  left  join
		
MySQL左连接不同于简单连接.MySQL LEFT JOIN提供该表额外字段在左侧. 如果使用LEFT JOIN,得到的所有记录的匹配方式相同, 在左边表中得到的每个记录不匹配也会有一个额外的记录. ...
 - MySQL的JOIN(一):用法
		
JOIN的含义就如英文单词"join"一样,连接两张表,大致分为内连接,外连接,右连接,左连接,自然连接.这里描述先甩出一张用烂了的图,然后插入测试数据. CREATE TABLE ...
 - MySQL的JOIN(三):JOIN优化实践之内循环的次数
		
这篇博文讲述如何优化内循环的次数.内循环的次数受驱动表的记录数所影响,驱动表记录数越多,内循环就越多,连接效率就越低下,所以尽量用小表驱动大表.先插入测试数据. CREATE TABLE t1 ( i ...
 - MySQL的JOIN(四):JOIN优化实践之快速匹配
		
这篇博文讲述如何优化扫描速度.我们通过MySQL的JOIN(二):JOIN原理得知了两张表的JOIN操作就是不断从驱动表中取出记录,然后查找出被驱动表中与之匹配的记录并连接.这个过程的实质就是查询操作 ...
 - MySQL的JOIN(五):JOIN优化实践之排序
		
这篇博文讲述如何优化JOIN查询带有排序的情况.大致分为对连接属性排序和对非连接属性排序两种情况.插入测试数据. CREATE TABLE t1 ( id INT PRIMARY KEY AUTO_I ...
 - Mysql Nested-Loop Join Algorithms
		
MySQL在多表之间执行join时,利用一种nested-loop algorithm 或者其变种:(嵌套循环) Nested-Loop Join Algorithm 一个简单的嵌套循环连 ...
 - [转]MySQL update join语句
		
原文地址:https://www.jianshu.com/p/f99665266bb1 在本教程中,您将学习如何使用MySQL UPDATE JOIN语句来执行跨表更新.我们将逐步介绍如何使用INNE ...
 
随机推荐
- 阿里云官方教程  Linux 系统挂载数据盘
			
适用系统:Linux(Redhat , CentOS,Debian,Ubuntu) * Linux的云服务器数据盘未做分区和格式化,可以根据以下步骤进行分区以及格式化操作. 下面的操作将会把数据盘划 ...
 - idea设置自定义图片
			
看图操作哈: 1. 2. 逼格满满:
 - 一步一步实现视频播放器client(二)
			
实现主体界面: 222.png (64.46 KB, 下载次数: 0) 下载附件 保存到相冊 前天 21:02 上传 比較常见的一种布局.以下几个button.点击后 ...
 - keras----resnet-vgg-xception-inception
			
来源: https://www.pyimagesearch.com/2017/03/20/imagenet-vggnet-resnet-inception-xception-keras/ classi ...
 - 浅谈iOS中MVVM的架构设计与团队协作【转载】
			
今天写这篇文章是想达到抛砖引玉的作用,想与大家交流一下思想,相互学习,博文中有不足之处还望大家批评指正.本篇文章的内容沿袭以往博客的风格,也是以干货为主,偶尔扯扯咸蛋(哈哈~不好好工作又开始发表博客啦 ...
 - Mysql  索引增加与删除
			
[1]索引 索引,通俗理解,即目录. 之前说过,计算机是对现实世界的模拟.目录应用在数据库领域,即所谓的索引. 目录的作用显而易见,所以建立索引可以大大提高检索的速度. 但是,会降低更新表的速度,如对 ...
 - Ubuntu 12.04中文输入法的安装(zhuan)
			
Ubuntu 12.04中文输入法的安装 Ubuntu上的输入法主要有小小输入平台(支持拼音/二笔/五笔等),Fcitx,Ibus,Scim等.其中Scim和Ibus是输入法框架. 在Ubuntu ...
 - MySQL 5.7 等高版本关于JDBC驱动的几个问题
			
https://blog.csdn.net/dj673344908/article/details/85223313 mysql 5.7 用8.0版本的驱动可以,5.1版本也可以,5.5.5.6.5. ...
 - rtmp直播拉流客户端EasyRTMPClient设计过程中时间戳问题汇总
			
EasyRTMPClient 简介 EasyRTMPClient是EasyDarwin流媒体团队开发.提供的一套非常稳定.易用.支持重连接的RTMPClient工具,以SDK形式提供,接口调用非常简单 ...
 - Kubernetes TensorFlow  默认 特定 集群管理器
			
Our goal is to foster an ecosystem of components and tools that relieve the burden of running applic ...