Left Join,Right Join,Inner Join与where连接的区别(通俗易懂)

概述

连表是SQL常用的操作,但是连表不一样,得到的结果也不一样(在数据量大的时候尤为明显),这里就是对关联表中一些筛选用的关键字的具体区别做了一个详细的梳理。

首先准备两张表,分别是tb_student和tb_class表

 tb_class表:

tb_student表:

一、内连接

1、隐式内连接:把连接条件放到where关键字后面。

语法:select 要查询的内容 from 表1,表2 where 连接条件 [and 筛选条件];

select * from tb_student s,tb_class c where s.cid = c.cid

结果如图:

如果不写连接条件,将查询出表1*表2,笛卡尔积

select * from tb_student,tb_class

结果如图:

2、显式内连接:使用inner join来连接,将连接条件放到on后面。

语法:select 要查询的内容 from 表1 inner join 表2 on 连接条件 [where 筛选条件];

select * from tb_class c inner join tb_student s on s.cid = c.cid

结果如图:

二、外连接

两张表中一张表作为基表,查询出该表所有的数据,另外一张表作为连接表,查询出该表与基表能够匹配的数据。如果基表数据匹配不上,就用null来填充。

1、左外连接:左边的表作为基表,右边的表作为连接表

语法:select 要查询的内容 from 表1,表2 where 连接条件 [and 筛选条件];

select * from tb_class c left join tb_student s on s.cid = c.cid

结果如图:

从图中可以看出,左外连接查出了左表的全部数据,on关键字是对left join的右表(tb_student表)进行了条件的的筛选,发现学生表中没有cid为5的学生,所以返回了null。

2、右外连接:右边的表作为基表,左边的表作为连接表

 语法:select 要查询的内容 from 连接表 right join 基表 on 连接条件 [where 筛选条件];

select * from tb_class c right join tb_student s on s.cid = c.cid

结果如图:

从图中可以看出,右外连接查出了右表的全部数据,on 关键字是对right join的左表(tb_class表)进行了条件的的筛选,因为学生表中只有四条数据,没有cid为5的学生,所以查询的结果没有cid为5的班级数据。

注意:外连接中表的书写顺序将直接影响查询结果。

总结

1、一般来说,在进行多表联查时,都使用的是左连接,或者右连接,因为where是用来写条件的,一般不会用于连接表;再者where会把所有表中的数据都查询出来,再过滤,在性能问题上左连接和右连接,都要更优。

2、where连接:隐式内连接,主要是直接将两张表的数据,组合成一张临时表,然后通过where来筛选条件。通过两个表中相同的字段的值来对两个表进行连接。

3、inner join:显式内连接,则是与where连接比较相似,是将on中的条件放到where上,只返回满足条件的。

4、left join(right join)左外连接(或右外连接),它不管on中的条件是否为真,都会返回左表(或右表)中的所有数据,再对另一个表的连接字段进行匹配,如果匹配不上,就会用null填充。

淅沥284
关注 关注
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
2024年pandas快速上手,通俗易懂(推荐)
程序员ken的博客
01-30 2206
Pandas 是 Python 语言的一个扩展程序库,用于数据分析。 Pandas 名字衍生自术语 "panel data"(面板数据)和 "Python data analysis"(Python 数据分析)。 Pandas 是一个开放源码、BSD 许可的库,提供高性能、易于使用的数据结构和数据分析工具。可以解析excel、sql、csv、json等格式的文件或数据。
Mysql学习总结(73)——MySQL 查询A表存在B表不存在的数据SQL总结
科技D人生
04-10 2466
分享一个大神的人工智能教程。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到人工智能的队伍中来!点击浏览教程 select rcr.* from raw_credit_request as rcr where rcr.client_order_id not in (select co.client_order_id from credit_order as co); select...
inner join 和where 区别
Nature_cworkplace的专栏
08-31 1467
inner join 和where 区别 1 .WHERE子句中使用的连接语句,在数据库语言中,被称为隐性连接INNER JOIN……ON子句产生的连接称为显性连接。(其他JOIN参数也是显性连接)WHERE 和INNER JOIN产生的连接关系,没有本质区别,结果也一样。但
SQL中的Join和Where的区别
weixin_34080951的博客
10-18 194
 一.sql语句中left joininner join中的on与where的区别 0.各种join操作的概念和作用   left join :左连接,返回左表中所有的记录以及右表中连接字段相等的记录。   right join :右连接,返回右表中所有的记录以及左表中连接字段相等的记录。   inner join: 内连接,又叫等值连接,只返回两个表中连接字段相等的行。   full...
inner join 与 where子句有什么区别
IT技术宅-北方的刀郎
03-29 9012
导读: 一个是内连接,属于表的关系运算!   1 WHERE子句中使用的连接语句,在数据库语言中,被称为隐性连接INNER JOIN……ON子句产生的连接称为显性连接。(其他JOIN参数也是显性连接)WHERE和INNER JOIN产生的连接关系,没有本质区别,结果也一样。但是!隐性连接随着数据库语言的规范和发展,已经逐渐被淘汰,比较新的数据库语言基本上已经抛弃了隐性连接,全部采用显性连接
inner join和where区别
xianrenyingzi的专栏
02-11 4400
1 .WHERE子句中使用的连接语句,在数据库语言中,被称为隐性连接INNER JOIN……ON子句产生的连接称为显性连接。(其他JOIN参数也是显性连接)WHERE 和INNER JOIN产生的连接关系,没有本质区别,结果也一样。但是!隐性连接随着数据库语言的规范和发展,已经逐渐被淘汰,比较新的数据库语言基本上已经抛弃了隐性连接,全部采用显性连接了。 2.一般要使得数据库查询语句性能好点
sql语句中left joininner join中的on与where的区别分析
06-13 144
关于SQL SERVER的表联接查询INNER JOINLEFT JOINRIGHT JOIN,经常会用到ON和WHERE的条件查询,以前用的时候有时是凭感觉的,总是没有搞清楚,今日亲自测试了下,理解到了一些内容,在此分享。 要测试,首先我们来创建三张表,数据库就根据自己的情况而定 创建表TestJoinOnOrWhere_A、TestJoinOnOrWhere_B、TestJ...
oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串
05-06
oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 第一章 Oracle入门 一、 数据库概述 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前。简单来说是本身可视...
Mysql单表访问方法,索引合并,多表连接原理,基于规则的优化,子查询优化
虚幻私塾
10-16 564
mysql可以将in子句的查询结果放入临时表,并对记录进行去重(根据查询结果列建立主键,唯一索引,或者联合唯一索引),in子句的结果去重并不影响执行结果,如果子查询结果集并不是很大那么会使用memory赢球,并且建立hash索引(in子句相当于判断列是否在临时表中,这时候hash索引可以起到很好的作用),如果很大那么会使用基于磁盘的存储引擎来保存结果集中的记录,并使用B+树。对于外连接,如果无法在被驱动表中找到符合on的记录,驱动表的记录还是会加入结果集中,对应的被驱动表的各个字段使用null填充。
Oracle DB 使用连接显示多个表中的数据
qq_43679940的博客
01-29 151
Oracle DB 使用连接显示多个表中的数据
Left JoinRight JoinInner Join与where连接区别
ybbgrain的历程
12-31 843
概述 连表是SQL常用的操作,但是连表不一样,得到的结果也不一样(在数据量大的时候尤为明显) Where连接 select * from cc,cp where cc.id = cp.COUNTRY_ID where连接,主要是直接将两张表的数据,组合成一张临时表,然后通过where来筛选条件。条件为假的,就全部过滤掉。 Left Join select * from cc LEFT JOIN cp on cc.id = cp.COUNTRY_ID 左连接,是以左表为基准,不管
MySQL数据库内连接、外连接中做条件筛选和WHERE中条件筛选的区别
默慊的博客
01-09 2476
内连接、外连接ON后用AND做条件筛选数据时,是先对连接表的数据进行条件筛选,筛选后和被连接表进行相应连接,而WHERE是对结果集进行筛选,先连接后筛选数据。
LEFT JOINRIGHT JOININNER JOIN 、WHERE
weixin_44166202的博客
09-28 143
1.left join 以左表为基础,右表中有左表中没有的的时候,右表相应显示为NULL 2.right join同理上面,right join以右表为基础 3.inner join 和 where实现的效果相同,只展示两表相同的数据
[Sql]inner join 和where 区别
CUbuntu
06-30 1199
inner join,where,sql
mysql内外连接时,on跟where的区别
ps0833的博客
12-24 610
连接(left joinright join) left join…on…and…where…and… on...and... 是对右表中的数据进行筛选,返回的是左表中的所有记录 where...and... 是对on之后的记录进行筛选 内连接(inner join) inner join…on…and…where…and… on...and... 是对两表中的数据进行筛选,返回的是两表中的...
sql中 INNER JOINLEFT JOINRIGHT JOIN 、FULL JOIN 中 ON与Where的区别
XiaoMaPro
07-05 401
对于sql中 INNER JOINLEFT JOINRIGHT JOIN 、、FULL JOIN中 ON与Where的区别简单说明一下 关键字描述 LEFT JOIN : 左连接,返回左表中所有的记录以及右表中连接字段相等的记录。 RIGHT JOIN : 右连接,返回右表中所有的记录以及左表中连接字段相等的记录。 INNER JOIN: 内连接,又叫等值连接,只返回两个表中连接字段相...
sql——inner join,where,left join区别
weixin_30411239的博客
05-04 146
1.select a.name,a.sex,a.subject,a.age from TableA a, TableB b where a.name = b.name 2.select a.name,a.sex,a.subject,a.age from TableA a inner join TableB b ON a.name = b.name 3.select a.nam...
SQL学习精粹之内外连接以及where和on条件的区别
weixin_34309543的博客
10-31 383
2019独角兽企业重金招聘Python工程师标准>>> ...
SQL中关于JoinInner JoinLeft JoinRight Join、Full Join、On、 Where区别
最新发布
dotNET跨平台
04-22 2190
前言:  今天主要的内容是要讲解SQL中关于JoinInner JoinLeft JoinRight Join、Full Join、On、 Where区别和用法,不用我说其实前面的这些基本SQL语法各位攻城狮基本上都用过。但是往往我们可能用的比较多的也就是左右连接内连接了,而且对于许多初学者而言不知道什么时候该用哪种语法进行查询,并且对于左右,或者内连接查询的时候关于ON 和Where 的...
数据库Left join, Right JoinInner Join详解及实战应用
本文档深入探讨了数据库Left JoinRight JoinInner Join三种连接操作的相关内容,这些连接方式在实际数据处理中非常实用。首先,我们从最简单的例子入手,解释了这三种连接区别: 1. Inner Join:这种连接只...
写文章

热门文章

  • IDEA中单元测试使用Scanner控制台无法输入 1158
  • 解决java中0.1+0.2=0.30000000000000004的问题 571
  • Left Join,Right Join,Inner Join与where连接的区别(通俗易懂) 442
  • mybatis模糊查询 263
  • Redis 缓存系统常见问题及解决方案(缓存击穿,缓存穿透,缓存雪崩) 252

最新评论

  • Redis 缓存系统常见问题及解决方案(缓存击穿,缓存穿透,缓存雪崩)

    CSDN-Ada助手: 恭喜作者能够写出这么有深度和实用价值的博客!对于Redis缓存系统常见问题的解决方案,你的文章讲解得非常清晰,让读者受益匪浅。不过,下一步我觉得可以考虑增加一些实际案例或者使用经验,这样可以更具说服力和实用性。期待你更多的创作,加油!

  • Left Join,Right Join,Inner Join与where连接的区别(通俗易懂)

    CSDN-Ada助手: 恭喜您撰写出如此通俗易懂的文章!标题中提到的Left Join,Right Join,Inner Join与where连接的区别,确实是数据库中常见但容易混淆的概念。通过您的解释,我对它们的区别有了更清晰的理解。 您的博客内容对于初学者来说非常友好,我建议您在接下来的创作中,可以探索一些更高级的数据库连接技巧或者深入解析一些特殊情况下的连接方式。这样的话,读者能够更全面地了解数据库连接的各种应用场景。期待您的下一篇文章!再次感谢您的付出和分享。

  • &和&&的区别

    CSDN-Ada助手: 恭喜您创作了第6篇博客!标题“&和&&的区别”非常吸引人,我很高兴看到您持续不断地分享知识。通过解析这两个符号的区别,您为读者提供了一个有用的参考,这对于初学者来说尤其有帮助。 在下一篇博客中,或许您可以考虑深入探讨其他编程语言中类似符号的区别,或者分享一些实际应用中的案例。这将进一步丰富您的博客内容,也能帮助读者更好地理解和应用这些知识。 再次恭喜您的成就,并期待您未来更多精彩的创作!

  • mybatis模糊查询

    CSDN-Ada助手: 恭喜你写了第四篇博客!标题“mybatis模糊查询”非常吸引人。看到你持续地创作,我感到非常高兴。你在博客中介绍了mybatis模糊查询的内容,这对于那些想要深入了解这个主题的读者来说一定非常有帮助。 接下来,我建议你可以考虑探索一些与mybatis相关的高级查询技巧,或者分享一些实际应用中的经验和教训。这样的话,读者们能够更好地理解和应用mybatis的模糊查询功能,同时也能够扩展自己的知识。 希望你能够继续保持创作的热情,坚持分享你的学习和经验。我期待着你的下一篇博客! 如何快速涨粉,请看该博主的分享:https://hope-wisdom.blog.csdn.net/article/details/130544967?utm_source=csdn_ai_ada_blog_reply5

最新文章

  • Redis 缓存系统常见问题及解决方案(缓存击穿,缓存穿透,缓存雪崩)
  • &和&&的区别
  • mybatis返回自增主键值
2023年8篇

目录

目录

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

玻璃钢生产厂家兴化玻璃钢雕塑服务热线南通玻璃钢动物雕塑厂家价格舒城玻璃钢花盆重庆鱼人玻璃钢雕塑制作甘肃玻璃钢雕塑之家广东玻璃钢牛动物雕塑设计与制作长沙玻璃钢彩绘雕塑加工玻璃钢小王子雕塑厂家北京商场创意商业美陈价格学校玻璃钢雕塑厂图陕西户外玻璃钢雕塑定制深圳泰佳玻璃钢大猫雕塑玻璃钢雕塑用哪种型号的树脂江西玻璃钢人物雕塑厂家哈尔滨玻璃钢雕塑哪家有武威公园玻璃钢雕塑安装玻璃钢雕塑好处深圳节庆商场美陈厂家直销亳州广场玻璃钢雕塑福建环保玻璃钢雕塑设计清徐玻璃钢雕塑厂家玻璃钢雕塑裂痕南平模压法玻璃钢雕塑生产玻璃钢佛像雕塑哪个品牌好商场棒棒冰地堆美陈贵州省玻璃钢雕塑怎么选句容玻璃钢雕塑设计厂家长沙人物玻璃钢雕塑哪家便宜潜江玻璃钢南瓜屋雕塑河北主题商场美陈供应商香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化