欢迎来到天天文库
浏览记录
ID:42563177
大小:24.38 KB
页数:11页
时间:2019-09-17
《left join 和 left outer join 的区别》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、leftjoin和leftouterjoin的区别通俗的讲:AleftjoinB的连接的记录数与A表的记录数同ArightjoinB的连接的记录数与B表的记录数同AleftjoinB等价BrightjoinAtableA:Field_K,Field_A1a3b4ctableB:Field_K,Field_B1x2y4zselecta.Field_K,a.Field_A,b.Field_K,b.Field_Bfromaleftjoinbona.Field_K=b.Field_KField_KField_AField_KField_B------
2、----------------------------------1a1x3bNULLNULL4c4zselecta.Field_K,a.Field_A,b.Field_K,b.Field_Bfromarightjoinbona.Field_K=b.Field_KField_KField_AField_KField_B----------------------------------------1a1xNULLNULL2y4c4z--举个例子:假设a表和b表的数据是这样的。abidname idstock 1 a1152b2503c
3、select*fromainnerjoinbona.id=b.id这个语法是连接查询中的内连接,它产生的结果是两个表相匹配的记录出现在结果列表中。根据上面的表,出现的结果是这样的a.idnameb.idstock1 a1152b250----------------------------select*froma,bwherea.id=b.id这个语法是内连接的另外一种写法,其执行结果与innerjoin一样--------------------------------select*fromaleft/rightjoinbona.id=b
4、.id这个是外连接语法中的左外连接或右外连接如果是左外连接的话,它将显示a表的所有记录,selecta.*,b.*fromaleftjoinbona.id=b.id查询的结果是这样的:a.idnameb.idstock1 a1152b2503cnullnull --------------------------------------------如果是右外连接的话,它将显示b表的所有记录,selecta.*,b.*fromarightjoinbona.id=b.id查询的结果是这样的:a.idnameb.idstock1 a1152b2
5、50--selecta.*,b.*fromaleftjoinbona.k=b.kselecta.*,b.*fromaleftouterjoinbona.k=b.k----------上面两种一样leftjoin是leftouterjoin的简写selecta.*,b.*fromaleftinnerjoinbona.k=b.k没有这种写法,错误的语句.--在你要使用多个leftjoin的时候比如说个我们把个全都写成leftjoin的形式然后再SQL让他自动运行一下,它会把最后一次出现的leftjoin变成leftouterjoin所以依此推理,
6、最后一个leftjoin会以leftouterjoin的形式存在当然,不管变不变对结果的显示没有任何影响希望我的实验能对你有所帮助--使用关系代数合并数据1关系代数合并数据集合的理论基础是关系代数,它是由E.F.Codd于年提出的。在关系代数的形式化语言中:r用表、或者数据集合表示关系或者实体。r用行表示元组。r用列表示属性。关系代数包含以下个关系运算符r选取――返回满足指定条件的行。r投影――从数据集合中返回指定的列。r笛卡尔积――是关系的乘法,它将分别来自两个数据集合中的行以所有可能的方式进行组合。r并――关系的加法和减法,它可以在行的方
7、向上合并两个表中的数据,就像把一个表垒在另一个表之上一样。r交――返回两个数据集合所共有的行。r差――返回只属于一个数据集合的行。r连接――在水平方向上合并两个表,其方法是:将两个表中在共同数据项上相互匹配的那些行合并起来。r除――返回两个数据集之间的精确匹配。此外,作为一种实现现代关系代数运算的方法,SQL还提供了:r子查询――类似于连接,但更灵活;在外部查询中,方式可以使用表达式、列表或者数据集合的地方都可以使用子查询的结果。本章将主要讲述多种类型的连接、简单的和相关的子查询、几种类型的并、关系除以及其他的内容。2使用连接2.1连接类型在
8、关系代数中,连接运算是由一个笛卡尔积运算和一个选取运算构成的。首先用笛卡尔积完成对两个数据集合的乘运算,然后对生成的结果集合进行选取运算,确保只把分别来自两个数据集
此文档下载收益归作者所有