left outer join的正确写法

Monday February 20, 2006 - 02:59pm (CST)
1)select customerid,b.aggregateno
from temptop10 a left outer join AGGREGATE_MEMBER b
on a.aggregateno=b.aggregateno and b.dwmonth='2005-12-31'

2)select customerid,b.aggregateno
from temptop10 a left outer join AGGREGATE_MEMBER b
on a.aggregateno=b.aggregateno where b.dwmonth='2005-12-31'

sql1和sql2看起来没什么分别,事实上差别大了。sql1是正确的写法,得到的是左连接的结果:
75736122-X | GL200405260015
F2685322-X | GL200405260015
| 75313212-0
| 15438327-8
| 74200965-3
| 48800033-7
11701-5009 | GL200506240001
15498586-9 | GL200506240001
.....

sql2的结果看起来确像一个等值连接的结果:
75736122-X | GL200405260015
F2685322-X | GL200405260015
11701-5009 | GL200506240001
15498586-9 | GL200506240001
15514263-1 | GL200506240001
15814304-4 | GL200506240001
15815336-5 | GL200506240001
61144602-8 | GL200511160014
75738868-4 | GL200511160014
26017968-4 | GL200312010002
61100604-9 | GL200312010002
61130906-6 | GL200312010002
....

分析原因,sql1是先解析on中的条件从b表过滤出数据然后left outer join a表,得出正确结果。sql2是先left outer join b 再按 where中的 dwmonth条件过滤,这时候左连接得到的笛卡儿乘积中的dwmonth为null的值就全部被过滤了,得到结果和等值连接一样。

结论:对被关联的表(如以上的b表)的限定条件,要写在on语句中Image
SQL中INNER JOIN和OUTER JOIN的区别 在数据库操作中,经常需要从多个表中获取相关的数据。SQL 提供了多种连接(JOIN)操作,其中 INNER JOIN 和 OUTER JOIN 是常用的连接方式。理解它们的区别对于正确地从多个表中提取所需数据至关重要。 阅读详情

相关推荐

mysql, LEFT OUTER JOIN 与 LEFT JOIN,RIGHT OUTER JOIN 与RIGHT JOIN ,FULL OUTER JOIN 与 FULL JOIN区别与联系

I have seen joins called LEFT OUTER JOIN or RIGHT OUTER JOIN. In some places I have seen LEFT JOIN or RIGHT JOIN. I am confused by this. I posted a question 2 days ago, but I am unable to understand ...

Top5软件工程硕士,先后在京东、字节从事多年Java后端开发、实时和离线大数据开发 4436

left outer join 的简单总结

表:lhc01 id      uid 3       1 2       1 1       1 4       1 1       2 3       2 表:lhc02 id      uid 1       2 4       1 2       1 一,基本left outer join select * from lhc01 a left outer

jxlhc09的专栏 4862

cadence CIS 库建立--建立自己维护的CIS数据库

遇到一个问题,在使用cadecnce的时候,就是没有自己的本地/分享的数据库。 在画原理图或者PCB的时候,如果能搭建一个自己的数据库,在局域网或者本地 就好了。出于这样的想法,做了一些探索,找到了一种可能的答案。 由于数据库编制知识的缺乏,要自己建一个数据库似乎花费的时间会比较多。 偶发奇想,如果能够改编CIS 自带的数据库 另建立副本进行维护 就能够省下不少麻烦。 先说下CIS 是个啥。网上一搜:总之CIS 是个好东西。 功能强大。 点击CIS capture 中的 Options CIS Config

qq_29776365的博客 2万+

SQL 查询条件放在LEFT OUTER JOIN 的ON语句后与放在WHERE中的区别

SQL 查询条件放在LEFT OUTER JOIN 的ON语句后与放在WHERE中的区别欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章...

weixin_43564583的博客 1474

FPGA矩阵键盘计算器Verilog实现与Quartus仿真全流程解析

本文详细解析了基于FPGA和Verilog的矩阵键盘计算器实现全流程,包括矩阵键盘扫描、状态机设计、算术运算逻辑及数码管显示驱动。通过Quartus仿真与Testbench测试,确保设计稳定性与准确性,适合数字逻辑设计初学者学习FPGA开发与硬件描述语言应用。

chair的专栏 743

CESM2 实验笔记

文章目录1. 重新启动1.1 关于重启文件2. RUN_TYPE 初始化运行方式startupbranchhybrid3. branch 或者 hybrid运行的示例4. 其他声明5. 关于RESUBMIT 1. 重新启动 参考: https://bb.cgd.ucar.edu/cesm/threads/how-to-restart-cesm2-1-3-fhist-from-a-backup.5245/#post-36275 适用情况:模型运行因时间不足或其它原因中断,需要继续运行 方法1:将CONTIN

qq_38607066的博客 1万+

SQL 联接--->左向外联接 (左外联接 ..left outer join..on)

SQL  联接--->左外联接 (左外联接 ..left outer join..on)有表 titles(书信息表)  如下图有表 publishers(出版社)  如下图执行左外联接代码:select titles.titles_id,titles.title,publishers.pub_name from titles left outer join publish

对象本无根,类型亦无形。本来无一物,何处惹尘埃 4449

Mamba-UNet:用于医学图像分割的类似UNet的纯视觉Mamba网络

所提出的Mamba-UNet的架构如图2所示,其灵感来源于UNet [24] 和 Swin-UNet [3]。首先将大小为 H × W × 1 的2D灰度图像分割成类似于ViT和VMamba的块 [5,16],然后转换为维度为 H/4 × W/4 × 16 的1D序列。一个初始的线性嵌入层将特征维度调整为任意大小C。这些块令牌随后通过多个VSS块和块合并层进行处理,以创建分层特征。块合并层负责下采样和维度增加,而VSS块则专注于学习特征表示。

AI浩 7551

SQL入门之第十一讲——OUTER JOIN 外连接

外连接是左外连接(LEFT OUTER JOIN),右外连接(RIGHT OUTER JOIN),全外连接(FULL OUTER JOIN)的统称。 一般情况下直接忽视掉OUTER就可以,直接统称: 左外连接为:左连接(LEFT JOIN) 右外连接为:右连接(RIGHT JOIN) 全外连接为:全连接(FULL JOIN) 左连接和右连接,在结果中除了交集,还包含左/右表中的全部记录。 具体查看图片会比较清楚点: 1. 左连接(LEFT JOIN) 定义:左连接就是将JOIN前面的表中所有记录都

henry_rhy的博客 1万+

基于STM32的设计智慧超市管理系统(带收银系统+物联网环境监测)_167

本系统主要由超市环境监测部分和商品管理部分组成。环境监测部分主控芯片采用STM32F103C8T6,主要包括温湿度传感器、烟雾传感器和空调制热开关、空调制冷开关,采集的数据通过ESP8266模块+MQTT协议上传至OneNet云平台,在OneNet云平台设计手机和电脑版本可视化页面,能够在页面上查看超市的环境信息,还能在页面上手动打开空调制热开关和空调制冷开关。商品管理部分主要由RC522-RFID读卡器、上位机组成,实现商品选购、结算、顾客的VIP会员卡注册管理等功能。

6071

Nexys4DDR+OV7670实现图像灰度显示系统嵌入式

通过对硬件平台的准备、Vivado工程配置、OV7670驱动程序的编写、图像灰度处理算法的设计以及系统集成与测试,我们成功实现了一个基于嵌入式系统的图像处理应用。当系统运行时,OV7670摄像头模块将采集到的图像传输到FPGA芯片中,然后通过图像灰度处理算法将彩色图像转换为黑白图像,并在显示设备上进行显示。OV7670摄像头模块的驱动程序是实现图像采集的核心。以上代码中,我们使用了Xilinx提供的XGpio和Xil_In32函数来进行OV7670摄像头数据的读取和GPIO的初始化。OV7670驱动程序。

WangWEel的博客 338

SQL外部联合:right outer join、left outer join、full outer join

SQL将外部联合分为了右外部联合(right outer join)、左外部联合(left outer join)、完全外部联合(full outer join)3个类型。 左外部联合:LEFT OUTER JOIN 基本语法:SELECT column_list ...

一起加油吧~ 6157

模型预测控制(MPC)解析(三):多输入多输出系统

本文为阅读笔记,仅供学习交流使用!!! 在之前的文章中,为了简单起见,以单输入单输出系统为例介绍了MPC控制的实现方法。因为使用的是状态空间方程作为系统模型,这种方法可以轻松的扩展到多输入多输出系统中。 ...

行者无疆的博客 1万+

hive left outer join where 条件问题

select count(1) from s_ods_trade where part ='2012-10-31'; 22076 select count(1) from s_ods_trade 104343 select count(1) from s_ods_trade_full where part ='2012-10-31'; 11456 select c

空中的鱼 1105

从零搭建 SAP ALE/IDoc:自定义 IDoc 结构、Outbound 发送、Inbound 入库与排错全流程

本文介绍了SAP系统中ALE和IDoc技术的应用,用于解决分布式系统集成中的数据传递问题。主要内容包括: ALE/IDoc技术概述 ALE通过消息驱动方式实现业务数据传递 IDoc作为标准化数据信封,包含控制信息、业务数据和状态记录 支持SAP与非SAP系统间集成 核心概念 ALE的价值在于业务消息传递而非远程调用 IDoc由控制记录、数据记录和状态记录三部分组成 WE60工具用于查看IDoc文档结构 实践案例 演示如何将自定义业务表数据打包为IDoc 详细说明IDoc结构定义步骤(段、基本类型、消息类型)

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 326

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

mysql一些简单的错误

dml语言方面: 修改没有boyfriend的beauty值为null: UPDATE beauty LEFT OUTER JOIN boys ON beauty.`boyfriend_id` = boys.`id` SET beauty.`boyfriend_id` = 2 WHERE boys.`id` IS NULL; 我写成了 UPDATE beauty LEFT OUTER JOIN boys ON beauty.`boyfriend_id` = boys.`id` SET beauty.`bo

qq_44630167的博客 127

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

sql 在not in 子查询有null值情况下经常出现的陷阱

如果下:Table_A表和Table_B表,要求查询出在Table_A表中不在Table_B表中的记录。 CREATE TABLE [dbo].[Table_A]( [ID] [nchar](10) NULL, [Name] [nchar](10) NULL ) ON [PRIMARY] GO ID Name 001 张三 002 李四 003 王五 CREATE TABLE [d

数据矿工的博客 462

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

MySQL: 图解 inner join、left join、right join、full outer join、union、union all的区别

转载来源 对于SQL的Join,在学习起来可能是比较乱的。我们知道,SQL的Join语法有很多inner的,有outer的,有left的,有时候,对于Select出来的结果集是什么样子有点不是很清楚。Coding Horror上有一篇文章,通过韦恩图(Venn diagram,可用来表示多个集合之间的逻辑关系)。解释了SQL的Join。我觉得清楚易懂,转过来。 假设我们有两张表。Table A ...

小小程序员 3万+

inner join、outer join、right join、left join 之间的区别

inner join、outer join、right join、left join 之间的区别 一、sql的left join 、right join 、inner join之间的区别   left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录   right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录   inner join(等...

Eric的博客 1万+

[498]left join、inner join、right join、full outer join的区别

sql的left join 、right join 、inner join之间的区别 left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录 inner join(等值连接) 只返回两个表中联结字段相等的行 t_user表 t_class表 sql语句:(左联结) select u...

周小董 5855

Hive的left join、left outer join和left semi join三者的区别

Hive的Join的文档说明地址: https://cwiki.apache.org/confluence/display/Hive/LanguageManual%2BJoins 以下为两个测试数据表建表语句: use test; DROP TABLE IF EXISTS table1; create table table1( student_nobigint...

qq_43193797的博客 5385

SparkSql中join的实现( inner join,left outer join,right outer join,full outer join)

Join是SQL语句中的常用操作,良好的表结构能够将数据分散在不同的表中,使其符合某种范式,减少表冗余、更新容错等。而建立表和表之间关系的最佳方式就是Join操作。 SparkSQL作为大数据领域的SQL实现,自然也对Join操作做了不少优化,今天主要看一下在SparkSQL中的Join,inner join,left outer join,right outer join,full outer...

wyqwilliam的博客 1万+

mysql中left join,right join,inner join,outer join 用法详解

非常惭愧用了这么久的mysql居然没有用过outer join和inner join,对outer join的认识也仅是知道它是外连结,至于什么用途都不清楚,至于还有没有left outer join更是不得而知,某天有人问起,才想起自己mysql知识的贫乏,赶紧找了一下网上的left join,right join,inner join,outer join的用法来学习一下。

onlyquan3的博客 8068

mysql中left join,right join,inner join,outer join的用法详解【转】

非常惭愧用了这么久的mysql居然没有用过outer join和inner join,对outer join的认识也仅是知道它是外连结,至于什么用途都不清楚,至于还有没有left outer join更是不得而知,某天有人问起,才想起自己mysql知识的贫乏,赶紧找了一下网上的left join,right join,inner join,outer join的用法来学习一下下面的内容转载自网络,

lelexy的专栏 2万+

SQL inner join、left join、right join、full outer join、union、union all的区别

假设我们有两张表。Table A 是左边的表。Table B 是右边的表。其各有四条记录,其中有两条记录name是相同的,如下所示:让我们看看不同JOIN的不同 一、inner join SELECT * FROM TableA INNER JOIN TableB ON TableA.name = TableB.name 2.full[outer] join(MySQL不支持全关联) SELECT * FROM TableA FULL OUTER JOIN T...

Markble 6911

LEFT OUTER JOIN vs 其他JOIN:效率对比实验

为了找出最优方案,我用Python+SQLite做了一个简单的性能测试工具,对比LEFT OUTER JOIN、INNER JOIN和RIGHT OUTER JOIN在不同数据量下的表现。当右表数据稀疏时(比如很多用户没有订单),LEFT OUTER JOIN需要处理大量NULL值填充,效率下降更明显。LEFT OUTER JOIN测试:返回左表(用户)所有记录,无论是否在右表(订单)有匹配。通过SQLite的内存数据库模式进行测试,避免磁盘I/O对结果的影响,专注于比较JOIN操作本身的效率。

GoldenleafRaven13的博客 798
上一篇: 搞清楚一下各个时区
下一篇: 装好了RedHat 9
eyejavaeye
博客等级 码龄20年 74粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值