left join 和join(请教JOIN LEFT JOIN ALL JOIN 等的区别和联系)

2025-08-07 17:45:02 0

left join 和join(请教JOIN LEFT JOIN ALL JOIN 等的区别和联系)

今天给各位分享请教JOIN LEFT JOIN ALL JOIN 等的区别和联系的知识,其中也会对请教JOIN LEFT JOIN ALL JOIN 等的区别和联系进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录

请教JOIN LEFT JOIN ALL JOIN 等的区别和联系

left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录
right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录
inner join(等值连接) 只返回两个表中联结字段相等的行
举例如下:
--------------------------------------------
表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
--------------------------------------------
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 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
NULL     NULL     8     2006032408
(所影响的行数为 5 行)
结果说明:
仔细观察一下,就会发现,和left join的结果刚好相反,这次是以右表(B)为基础的,A表不足的地方用NULL填充.
--------------------------------------------
3.inner join
sql语句如下:
select * from A
innerjoin 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
结果说明:
很明显,这里只显示出了 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 数据类型数据的字段,将会发生错误.

SQL: join 和left join的区别,join就是inner join的缩写,是吗

join 默认就是 inner join
left join 和 right join 是以其中一个表为基础,
inner join 就不会了

left join和right join的区别是什么

left join和right join的区别为:基表不同、操作不同、结果不同。

一、基表不同

1、left join:left join以左数据表为基表。

2、right join:right join以右数据表为基表。

二、操作不同

1、left join:left join会把左表中的全部信息输出,然后搜索右表中符合条件的记录。

2、right join:right join会把右表中的全部信息输出,然后左搜索表中符合条件的记录。

三、结果不同

1、left join:left join查出来的结果是左边的所有数据和与左边有交集部分的数据。

2、right join:right join查出来的结果是右边的所有数据和与右边有交集部分的数据。

left join 与join都会形成笛卡尔积

注释:即使两个表join,一个里面的都是唯一的,一个是包含重复的值的话依然会造成笛卡尔积

hive》 desc tmp.0703testxhh;

OK

name                    string                                     

diqu                    string                                     

Time taken: 0.123 seconds, Fetched: 2 row(s)

hive》 select * from tmp.0703testxhh;

OK

zs      bj

zs      sh

zs      sh

zs      sh

ls      hn

ww      sh

Time taken: 0.151 seconds, Fetched: 6 row(s)

hive》 select *

    》 from(

    》 select

    》 name,

    》 diqu

    》 from tmp.0703testxhh

    》 )A left join(

    》 select

    》 name,

    》 diqu

    》 from tmp.0703testxhh

    》 )B on A.name=B.name;

OK

zs      sh      zs      bj

zs      sh      zs      sh

zs      sh      zs      sh

zs      sh      zs      sh

ls      hn      ls      hn

ww      sh      ww      sh

zs      bj      zs      bj

zs      bj      zs      sh

zs      bj      zs      sh

zs      bj      zs      sh

zs      sh      zs      bj

zs      sh      zs      sh

zs      sh      zs      sh

zs      sh      zs      sh

zs      sh      zs      bj

zs      sh      zs      sh

zs      sh      zs      sh

zs      sh      zs      sh

Time taken: 25.986 seconds, Fetched: 18 row(s)

hive》 select *

    》 from(

    》 select

    》 name,

    》 diqu

    》 from tmp.0703testxhh

    》 )A join(

    》 select

    》 name,

    》 diqu

    》 from tmp.0703testxhh

    》 )B on A.name=B.name;

OK

zs      bj      zs      sh

zs      sh      zs      sh

zs      sh      zs      sh

zs      sh      zs      sh

ls      hn      ls      hn

ww      sh      ww      sh

zs      bj      zs      bj

zs      sh      zs      bj

zs      sh      zs      bj

zs      sh      zs      bj

zs      bj      zs      sh

zs      sh      zs      sh

zs      sh      zs      sh

zs      sh      zs      sh

zs      bj      zs      sh

zs      sh      zs      sh

zs      sh      zs      sh

zs      sh      zs      sh

Time taken: 24.778 seconds, Fetched: 18 row(s)

hive》

关于left join 和join到此分享完毕,希望能帮助到您。

left join 和join(请教JOIN LEFT JOIN ALL JOIN 等的区别和联系)

本文编辑:admin

更多文章:


apache不能在本地计算机启动(关于“Windows不能在本地计算机启动Apache2.并参考特定服务错误代码1“问题解决)

apache不能在本地计算机启动(关于“Windows不能在本地计算机启动Apache2.并参考特定服务错误代码1“问题解决)

大家好,如果您还对apache不能在本地计算机启动不太了解,没有关系,今天就由本站为大家分享apache不能在本地计算机启动的知识,包括关于“Windows不能在本地计算机启动Apache2.并参考特定服务错误代码1“问题解决的问题都会给大

2026年1月4日 19:00

deepin开机的四个选项(win10和deepin双系统怎样设置启动项)

deepin开机的四个选项(win10和deepin双系统怎样设置启动项)

各位老铁们好,相信很多人对deepin开机的四个选项都不是特别的了解,因此呢,今天就来为大家分享下关于deepin开机的四个选项以及win10和deepin双系统怎样设置启动项的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看

2026年3月2日 15:45

insert into 和select into(select into from和insert into select都是用来复制表,两者有什么区别)

insert into 和select into(select into from和insert into select都是用来复制表,两者有什么区别)

大家好,如果您还对insert into 和select into不太了解,没有关系,今天就由本站为大家分享insert into 和select into的知识,包括select into from和insert into select都

2026年3月18日 16:00

deficiency词源(minus的详细意思minus的详细意思是什么)

deficiency词源(minus的详细意思minus的详细意思是什么)

“deficiency词源”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看deficiency词源(minus的详细意思minus的详细意思是什么)!本文目录minus的详细意思minus的详细意思是什么deficiency

2026年9月23日 15:30

mysql workbench怎么运行sql文件(如何使用MySQL Workbench导入.sql文件)

mysql workbench怎么运行sql文件(如何使用MySQL Workbench导入.sql文件)

大家好,关于mysql workbench怎么运行sql文件很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于如何使用MySQL Workbench导入.sql文件的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解

2025年5月23日 03:00

conduct动词造句(初中英语scientists ____(conduct)a survey on how to protect the wildlife inthe coming new year)

conduct动词造句(初中英语scientists ____(conduct)a survey on how to protect the wildlife inthe coming new year)

“conduct动词造句”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看conduct动词造句(初中英语scientists ____(conduct)a survey on how to protect the wildl

2026年3月28日 14:15

webpack缺点(如何理解webpack文档中对AMD缺点的描述)

webpack缺点(如何理解webpack文档中对AMD缺点的描述)

大家好,如果您还对webpack缺点不太了解,没有关系,今天就由本站为大家分享webpack缺点的知识,包括如何理解webpack文档中对AMD缺点的描述的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录如何理解we

2026年9月10日 12:30

discuz采集插件(火车头采集的数据怎么发布在discuz网站)

discuz采集插件(火车头采集的数据怎么发布在discuz网站)

“discuz采集插件”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看discuz采集插件(火车头采集的数据怎么发布在discuz网站)!本文目录火车头采集的数据怎么发布在discuz网站discuz怎么安装插件让自己的Di

2025年11月7日 09:30

web服务器安全防护(如何保证Web服务器安全)

web服务器安全防护(如何保证Web服务器安全)

“web服务器安全防护”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看web服务器安全防护(如何保证Web服务器安全)!本文目录如何保证Web服务器安全网络安全防范措施主要有哪些Web服务器端的安全措施有哪些web服务器可能

2025年8月1日 04:15

accommodation theory名词解释(带sion后缀的单词~~快快快!)

accommodation theory名词解释(带sion后缀的单词~~快快快!)

“accommodation theory名词解释”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看accommodation theory名词解释(带sion后缀的单词~~快快快!)!本文目录带sion后缀的单词~~快快快!

2026年7月27日 18:15

建站什么程序好(建网站用哪个软件最佳)

建站什么程序好(建网站用哪个软件最佳)

各位老铁们,大家好,今天由我来为大家分享建站什么程序好,以及建网站用哪个软件最佳的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!本文目录建网站用哪个软件最佳

2026年1月16日 09:30

htmlcssjs软件下载手机(前端div+css怎么放到手机里面查看效果)

htmlcssjs软件下载手机(前端div+css怎么放到手机里面查看效果)

“htmlcssjs软件下载手机”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看htmlcssjs软件下载手机(前端div+css怎么放到手机里面查看效果)!本文目录前端div+css怎么放到手机里面查看效果只能在手机上面打

2026年2月9日 05:00

centos7怎么安装yum(CentOS7 配置 yum 源和 epel 源)

centos7怎么安装yum(CentOS7 配置 yum 源和 epel 源)

大家好,如果您还对centos7怎么安装yum不太了解,没有关系,今天就由本站为大家分享centos7怎么安装yum的知识,包括CentOS7 配置 yum 源和 epel 源的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧

2025年11月6日 00:30

面向对象程序设计是java吗(Java是一种面向对象的编程语言吗)

面向对象程序设计是java吗(Java是一种面向对象的编程语言吗)

本篇文章给大家谈谈面向对象程序设计是java吗,以及Java是一种面向对象的编程语言吗对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录Java是一种面向对象的编程语言吗Java语言和C语言都是面向对象的程序设计语言Java是一

2025年7月24日 13:45

linux配置与管理web服务器(高分请教如何搭建Linux下的web服务器)

linux配置与管理web服务器(高分请教如何搭建Linux下的web服务器)

本篇文章给大家谈谈linux配置与管理web服务器,以及高分请教如何搭建Linux下的web服务器对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本

2025年12月1日 02:00

vfp中的常用函数(求Visual Foxpro常用数值函数)

vfp中的常用函数(求Visual Foxpro常用数值函数)

大家好,关于vfp中的常用函数很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于求Visual Foxpro常用数值函数的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所

2026年4月7日 23:15

bath词性变化(淋浴的词性淋浴的词性是什么)

bath词性变化(淋浴的词性淋浴的词性是什么)

其实bath词性变化的问题并不复杂,但是又很多的朋友都不太了解淋浴的词性淋浴的词性是什么,因此呢,今天小编就来为大家分享bath词性变化的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目录淋浴的词性淋浴的词性是什么b

2026年4月11日 09:00

淘宝智能版导航代码(求淘宝店铺导航条代码,半透明状态的如下图)

淘宝智能版导航代码(求淘宝店铺导航条代码,半透明状态的如下图)

今天给各位分享求淘宝店铺导航条代码,半透明状态的如下图的知识,其中也会对求淘宝店铺导航条代码,半透明状态的如下图进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录求淘宝店铺导航条代码,半透明状态的如下图淘宝导航条

2026年1月29日 13:00

shady是什么意思(Eminem为什么又叫slim shady,什么意思)

shady是什么意思(Eminem为什么又叫slim shady,什么意思)

“shady是什么意思”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看shady是什么意思(Eminem为什么又叫slim shady,什么意思)!本文目录Eminem为什么又叫slim shady,什么意思谁知道Emine

2025年9月24日 14:15

冒险岛n8数据库管理工具(冒险岛架设数据库怎么弄)

冒险岛n8数据库管理工具(冒险岛架设数据库怎么弄)

“冒险岛n8数据库管理工具”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看冒险岛n8数据库管理工具(冒险岛架设数据库怎么弄)!本文目录冒险岛架设数据库怎么弄冒险岛n8是什么《冒险岛》SF架设方法是什么怎样用冒险岛gm管理工具

2026年4月2日 20:45

近期文章

本站热文

electronics软件(labcenter electronics是什么软件)
2025-05-22 23:45:02 浏览:134
博客是微博吗(博客是微博吗)
2025-05-22 22:45:01 浏览:111
diversity and distribution(悬赏英语短文)
2025-05-23 16:15:02 浏览:107
ios软件开发前景(iOS就业前景怎么样)
2025-05-22 23:00:01 浏览:102
next month(有The next month这个单词吗,和 next month有什么区别)
2025-05-23 02:30:01 浏览:102
patron(patron是什么意思)
2025-05-23 10:30:02 浏览:95
标签列表

热门搜索