当前位置: 首页 > 编程日记 > 正文

mysql left join,right join,inner join用法分析

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

下面是例子分析
表A记录如下: 
aID 	aNum 
1 	a20050111 
2 	a20050112 
3 	a20050113 
4 	a20050114 
5 	a20050115 表B记录如下: 
bID 	bName 
1 	2006032401 
2 	2006032402 
3 	2006032403 
4 	2006032404 
8 	2006032408 创建这两个表SQL语句如下: 
CREATE TABLE a 
aID int( 1 ) AUTO_INCREMENT PRIMARY KEY , 
aNum char( 20 ) 
) 
CREATE TABLE b( 
bID int( 1 ) NOT NULL AUTO_INCREMENT PRIMARY KEY , 
bName char( 20 ) 
) INSERT INTO a 
VALUES ( 1, 'a20050111' ) , ( 2, 'a20050112' ) , ( 3, 'a20050113' ) , ( 4, 'a20050114' ) , ( 5, 'a20050115' ) ; INSERT INTO b 
VALUES ( 1, ' 2006032401' ) , ( 2, '2006032402' ) , ( 3, '2006032403' ) , ( 4, '2006032404' ) , ( 8, '2006032408' ) ; 实验如下: 
1.left join(左联接) sql语句如下: 
SELECT * FROM a 
LEFT JOIN b 
ON a.aID =b.bID 结果如下: 
aID 	aNum 			bID 		bName 
1 		a20050111 	1 		2006032401 
2 		a20050112 	2 		2006032402 
3 		a20050113 	3 		2006032403 
4 		a20050114 	4 		2006032404 
5 		a20050115 	NULL 		NULL 
(所影响的行数为 5 行) 结果说明: 
left join是以A表的记录为基础的,A可以看成左表,B可以看成右表,left join是以左表为准的. 
换句话说,左表(A)的记录将会全部表示出来,而右表(B)只会显示符合搜索条件的记录(例子中为: A.aID = B.bID). 
B表记录不足的地方均为NULL. 2.right join(右联接) sql语句如下: 
SELECT * FROM a 
RIGHT JOING b 
ON a.aID = b.bID 结果如下: 
aID 	aNum 		bID 		bName 
1 	a20050111 	1 		2006032401 
2 	a20050112 	2 		2006032402 
3 	a20050113 	3 		2006032403 
4 	a20050114 	4 		2006032404 
NULL 	NULL 		8 		2006032408 
(所影响的行数为 5 行) 结果说明: 
仔细观察一下,就会发现,和left join的结果刚好相反,这次是以右表(B)为基础的,A表不足的地方用NULL填充. 3.inner join(相等联接或内联接) sql语句如下: 
SELECT * FROM a 
INNER JOIN b 
ON a.aID =b.bID 等同于以下SQL句: 
SELECT * 
FROM a,b 
WHERE a.aID = b.bID 结果如下: 
aID 	aNum 		bID 		bName 
1 	a20050111 	1 		2006032401 
2 	a20050112 	2 		2006032402 
3 	a20050113 	3 		2006032403 
4 	a20050114 	4 		2006032404 结果说明: 
很明显,这里只显示出了 A.aID = B.bID的记录.这说明inner join并不以谁为基础,它只显示符合条件的记录. 
LEFT JOIN操作用于在任何的 FROM 子句中, 组合来源表的记录。使用 LEFT JOIN 运算来创建一个左边外部联接。左边外部联接将包含了从第一个(左边)开始的两个表中的全部记录,即 
使在第二个(右边)表中并没有相符值的记录。 语法:FROM table1 LEFT JOIN table2 ON table1.field1 compopr table2.field2 
说明:table1, table2参数用于指定要将记录组合的表的名称。 
field1, field2参数指定被联接的字段的名称。且这些字段必须有相同的数据类型及包含相同类型的数据,但它们不需要有相同的 
名称。 
compopr参数指定关系比较运算符:"=", "<", ">", "<=", ">=" 或 "<>"。 
如果在INNER JOIN操作中要联接包含Memo 数据类型或 OLE Object 数据类型数据的字段,将会发生错误。

转载于:https://my.oschina.net/hujunil1/blog/93940

相关文章:

如果BarTender出现卸载不干净的问题如何处理

自从BarTender 2016出了之后&#xff0c;好多小伙伴都想试试新功能咋样&#xff0c;这就意味着首先要卸载电脑上旧版BarTender。然而就是这个操作&#xff0c;难倒了好一批人&#xff0c;他们表示BarTender卸载卸不干净&#xff0c;不仅旧版的用不起来了&#xff0c;新版BarTen…

iometer硬盘测试工具附教程

教程地址http://servers.pconline.com.cn/skills/0711/1145597.html转载于:https://blog.51cto.com/cywin7/1081456

Python炫技操作:模块重载的五种方法

作者 | 写代码的明哥来源 | Python编程时光环境准备新建一个 foo 文件夹&#xff0c;其下包含一个 bar.py 文件$ tree foofoo└── bar.py 0 directories, 1 filebar.py 的内容非常简单&#xff0c;只写了个 print 语句print("successful to be imported")只要 bar.…

使用Powershell管理Linux 下的 SQL Server

使用Powershell管理Linux 下的 SQL Server我们上一篇文章介绍了在Centos 7.3下安装及配置 SQL Server&#xff0c;今天我们主要介绍的是如何在Windows下使用Powershell来管理Linux下的SQL Server&#xff0c;其实说到Powershell大家都已经很熟悉了&#xff0c;Powershell不止是…

这么多年,终于有人讲清楚Transformer了

作者 | Jay Alammar译者 | 香槟超新星&#xff0c;责编 | 夕颜来源 | CSDN&#xff08;ID:CSDNnews&#xff09;注意力机制是一种在现代深度学习模型中无处不在的方法&#xff0c;它有助于提高神经机器翻译应用程序性能的概念。在本文中&#xff0c;我们将介绍Transformer这种模…

提高IIS网站服务器的效率的八种方法 (转载)

作者&#xff1a;未知 请作者速与本人联系以下是提高IIS 5.0网站服务器的执行效率的八种方法&#xff1a; 1. 启用HTTP的持续作用可以改善15~20%的执行效率。 2. 不启用记录可以改善5~8%的执行效率。 3. 使用 [独立] 的处理程序会损失20%的执行效率。 4. 增加快取记忆体的保存…

搭建Docker私有仓库--自签名方式

为了能集中管理我们创建好的镜像&#xff0c;方便部署服务&#xff0c;我们会创建私有的Docker仓库。通读了一遍官方文档&#xff0c;Docker为了确保安全使用TLS,需要CA认证&#xff0c;认证时间长的要钱啊&#xff0c;免费过期时间太短&#xff0c;还是用自签名比较简单。 准备…

Visual C# .NET 2003 语言的改变

Visual C# .NET 2003 语言的改变 Prashant Sridharan Microsoft Corporation 2002年12月30日 适用于&#xff1a; Microsoft Visual Studio C# 2003 摘要&#xff1a;为了与欧洲计算机制造商协会 (ECMA) 的 C# 规范完全兼容&#xff0c;Microsoft Corporation 对 C# 编译器的…

.net内存管理与指针

本人前段时间准备做个TIN三角网的程序&#xff0c;思想是是分割合并法&#xff0c;分割的同时建立平衡二叉树&#xff0c;然后子树建三角网并相互合并&#xff0c;再向上加入父亲的点集。由于我对.net语言熟点&#xff0c;就准备用c#语言实现。但是不知从那听过当建立的类型只想…

强化学习是针对优化数据的监督学习?

作者 | Ben Eysenbach、Aviral Kumar、Abhishek Gupta 编译 | 凯隐出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;强化学习&#xff08;RL&#xff09;可以从两个不同的视角来看待&#xff1a;优化和动态规划。其中&#xff0c;诸如REINFORCE等通过计算不可微目标期…

solrcloud Read and Write Side Fault Tolerance

2019独角兽企业重金招聘Python工程师标准>>> SolrCloud supports elasticity, high availability, and fault tolerance in reads and writes. What this means, basically, is that when you have a large cluster, you can always make requests to the cluster: …

XML的二十个热点问题

http://www.netqu.com 中华技术网会员 Wuxuehui 发布翻译&#xff1a;Chen Zhihong 编辑&#xff1a;孙一中这些日子,几乎每个人都在谈论XML (Extensible Markup Language)&#xff0c;但是很少有人真正理解其含义。XML的推崇者认为它能够解决所有HTML不能解决的问题&#xff0…

5G+云网融合,移动云带领开发者释放边缘计算的力量

在5G浪潮的驱动下&#xff0c;智能设备、自动驾驶、VR/AR等对于实时性、本地性有着较强需求的场景日益丰富&#xff0c;边缘计算应运而生&#xff0c;有效提升了用户体验。众所周知&#xff0c;边缘计算技术的突破&#xff0c;意味着许多控制将通过本地设备实现而无需交由云端&…

Linux下模拟RAID5实现磁盘损坏,数据自动切换到备份磁盘上

另一个博客地址&#xff1a;www.rsyslog.org Linux社区 RAID5磁盘配额&#xff0c; 1块磁盘&#xff0c;分5个分区模拟5块磁盘&#xff0c;其中4个做成RAID5分区&#xff0c;剩余一个作为冗余磁盘&#xff0c;挂载到/data1目录&#xff0c;模拟其中一块磁盘损坏&#xff0c;冗…

jsp9大内置对象

转载于:https://www.cnblogs.com/xtdxs/p/6523059.html

RHCSA 解析-01

这是RHCSA题目开始正式做题前的准备部分。 后面会陆续连载部分类似的题型极其解法。 考试时间&#xff1a;RHCSA 2.5小时 总分300分&#xff0c;210分pass考试环境&#xff1a;考试为上机考试&#xff0c;在一台真实机系统中&#xff0c;已经预安装好虚拟机&#xff0c;要求所…

关于Visual C#装箱与拆箱的研究

关于Visual C#装箱与拆箱的研究2004-09-15 作者&#xff1a; 出处&#xff1a; CSDN在对这个问题展开讨论之前&#xff0c;我们不妨先来问这么几个问题&#xff0c;以系统的了解我们今天要探究的主题。观者也许曾无数次的使用过诸如System.Console类或.NET类库中那些品种繁多的…

Imagination推出全新多核GPU IP系列:提供33种不同配置,AI算力达24 TOPS

近日&#xff0c;致力于打造半导体和软件知识产权&#xff08;IP&#xff09; Imagination Technologies宣布推出全新的IMG B系列&#xff08;IMG B-Series&#xff09;图形处理器&#xff08;GPU&#xff09;&#xff0c;进一步扩展了其GPU知识产权&#xff08;IP&#xff09;…

ES6: 字符串

现在ES6增加了很多的字符串的方法&#xff0c;但是有些感觉自己也不是很懂&#xff0c;所以就罗列了一些平常的用的。 includes&#xff0c; startsWith&#xff0c; endsWith includes(): 返回布尔值&#xff0c;表示是否找到了参数字符串&#xff1b;startsWith(): 返回布尔值…

警惕!新版Net Transport(影音传送带)安装有猫腻

http://article.pcpop.com/show.aspx?topic_id1317935由于早些时候FlashGet和NetAnts&#xff08;网络蚂蚁&#xff09;迟迟没有新版本发布&#xff0c;Net Transport&#xff08;影音传送带&#xff09;趁虚而入&#xff0c;以免费且支持流媒体下载迅速获得了网民的青睐。不过…

我是一个平平无奇的AI神经元

来源 | 编程技术宇宙责编 | 晋兆雨头图 | CSDN付费下载自视觉中国我是一个AI神经元我是一个AI神经元&#xff0c;刚刚来到这个世界上&#xff0c;一切对我来说都特别新奇。之所以叫这个名字&#xff0c;是因为我的工作有点像人类身体中的神经元。人体中的神经元可以传递生物信号…

mysql的越过用户权限表登录

mysql的越过用户权限表登录昨天突然有个朋友对了说&#xff0c;不小心把mysql数据库的mysql库的user表给误删了&#xff0c;让我帮帮他。当是我就想到了越过用户权限表启动服务的选项skip-grant-table.自己也实验了一把&#xff0c;以前只知道有这样的方法&#xff0c;但一直没…

互联网引发全面深刻产业变革

2019独角兽企业重金招聘Python工程师标准>>> 当前&#xff0c;互联网已经渗透到社会生产生活各个方面&#xff0c;深刻改变着人类社会运行方式&#xff0c;加速着人类文明进步的步伐&#xff0c;开启了一个崭新的时代。互联网革命是人类发展史上历次科技革命的发展和…

apache模块

核心功能和多路处理模块 core Apache HTTP服务器核心提供的功能&#xff0c;始终有效。 mpm_common 收集了被多个多路处理模块(MPM)实现的公共指令。 beos 专门针对BeOS优化过的多路处理模块(MPM) event 一个标准workerMPM的实验性变种。 mpm_netware Novell NetWare优化过的线…

如何实现iframe(嵌入式帧)的自适应高度

好几次看到有人提问问到如何实现 iframe 的自适应高度&#xff0c;能够随着页面的长度自动的适应以免除页面和 iframe 同时出现滚动条的现象&#xff0c;刚好我在工作中也碰到了类似问题&#xff0c;于是上网翻查&#xff0c;东抄抄西看看&#xff0c;弄出来这么一个函数&#…

拖拉机也将自动驾驶,日本劳动力短缺大力发展无人农业

来源 | HyperAI超神经责编 | 晋兆雨头图 | CSDN付费下载自视觉中国内容提要&#xff1a;为解决农业劳动力短缺问题&#xff0c;日本近年来涌现出自动收割机、插秧机等自动化农业设备。近日&#xff0c;其农机生产商久保田&#xff0c;也宣布与英伟达联手&#xff0c;将推出自动…

php字符串操作

1.字符串的格式化 按照从表单提交数据之后&#xff0c;php处理的不同&#xff1a;接受&#xff0c;显示&#xff0c;存储。也有三种类型的格式化方法。 1.1字符串的接收之后的整理: trim(),ltrim(),rtrim() 当数据从表单中上传上来的时候需要对字符串整理一下&#xff0c;去掉字…

javascript事件列表解说

javascript事件列表解说事件浏览器支持解说一般事件onclickIE3、N2 鼠标点击时触发此事件ondblclickIE4、N4 鼠标双击时触发此事件onmousedownIE4、N4 按下鼠标时触发此事件onmouseupIE4、N4 鼠标按下后松开鼠标时触发此事件onmouseoverIE3、N2 当鼠标移动到某对象范围的上方时…

Facebook如何预测广告点击:剖析经典论文GBDT+LR

作者 | 梁唐来源 | TechFlow今天我们来剖析一篇经典的论文&#xff1a;Practial Lessons from Predicting Clicks on Ads at Facebook。从这篇paper的名称当中我们可以看得出来&#xff0c;这篇paper的作者是Facebook的广告团队。这是一篇将GBDT与LR模型结合应用在广告点击率预…

centos lustre 简单 安装教程

Lustre是一个大规模的、安全可靠的&#xff0c;具备高可用性的集群文件系统&#xff0c;它是由SUN公司开发和维护的。 该项目主要的目的就是开发下一代的集群文件系统&#xff0c;可以支持超过10000个节点&#xff0c;数以PB的数据量存储系统。 因为业务需要&#xff0c;需要做…