`
iFudon
  • 浏览: 2445 次
  • 性别: Icon_minigender_1
  • 来自: 南京
最近访客 更多访客>>
社区版块
存档分类
最新评论

inner join和left join的区别

阅读更多

做了这么多年的IT,一直没有机会接触互联网应用、高并发应用,不得不说这是一种遗憾…为了弥补这种遗憾,我开始关注做互联网应用的公司,寻找新的机会。

周二参加了一家公司的技术面试,今天得到回复是不满足岗位需求。但是我没有遗憾,为什么呢?

这是一家投资公司,叫乐博国际投资发展有限公司。说实在的,人事打电话给我的时候,如果不说他们公司主要从事二手车交易平台的研发,我都懒得去面试。也就是说,我是看好二手车交易这个市场前景的。

面试官据说是项目经理,长发飘飘的高个子,面试过程没什么值得说的,没有问道什么出彩的内容。但是有一个问题,可能是我被拒绝的直接原因,关于inner join和left join的区别。

当他问到这个问题时候,我笑了,我说这样的问题还是适合问应届毕业生。他还是坚持让我作答。无奈,说关联方式的区别、执行结果的区别…突然被打断,面试官说:你已经工作四五年了,当我问到基础问题的时候,希望你能提升一个层次回答…我心想,这面试官要求高水平啊。我开始叙述oracle如何实现关联查询...又被打断,面试说:就说说这两者性能上的差异…尼玛,听到这句我傻眼了!他继续说自己的工作中经历,什么inner join查了20多秒,left join查了3秒…我听不下去了,于是纠正他,这是两个不通逻辑实现,怎么能放在一起比较性能呢?说完这句话,我就知道面试结果了。

联合查询的效率,和关联条件、过滤条件有很大关系,具体还要看执行计划做出尽可能的优化,但是,唯独跟join的方式没有关系。一般情况,在使用inner join具体场景中,不能使用left join替换,同样的,使用left join的地方也不能用inner join替换。即便在某些特殊的情况下,inner join和left join返回结果相同,这也仅仅是一种巧合,谁能保证两张表的数据是一直不变的?一旦其中一张表的数据发生CURD,就很容易打破这中巧合。

说到底,inner join和left join是两个完全不同的东西,放在一起比较执行效率,实在没有意义!

分享到:
评论

相关推荐

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

    ### inner join、left join、right join、outer join之间的区别 在数据库操作中,连接(Join)是一种非常重要的操作,用于组合两个或多个表中的数据。根据连接的方式不同,可以分为几种类型:`INNER JOIN`、`LEFT ...

    left join right join inner join 区别和联系

    左连接(LEFT JOIN)、右连接(RIGHT JOIN)和内连接(INNER JOIN)是三种最基本的连接类型。在本节中,我们将详细介绍左连接、右连接和内连接的区别和联系。 左连接(LEFT JOIN) 左连接返回左表中的所有行,右表...

    SQL中的left outer join,inner join,right outer join用法详解

    * FULL OUTER JOIN:LEFT OUTER 和 RIGHT OUTER 中所有行的超集。 内连接(Inner Join) 内连接是最常见的一种连接,它也被称为普通连接,而 E.FCodd 最早称之为自然连接。例如: SELECT * FROM t_institution i ...

    DataTable实现leftJoin和rightJoi以及innerJoin

    比较实用的方法,已经用到项目里,很好用的一个方法

    Mysql之innerjoin,leftjoin,rightjoin详解.pdf

    inner join、left join 和 right join 是 Mysql 中三种最常用的连接查询方式。 inner join inner join 又称等值连接,是指从两个表中选择公共列的记录。只有当两个表中的列值相等时,才会返回结果集。例如: ...

    SQL语句inner join,left join ,right join连接的不同之处

    根据连接方式的不同,可以分为多种类型,包括内连接(Inner Join)、左连接(Left Join)以及右连接(Right Join)。本文将详细探讨这三种连接方式的区别,并通过具体的例子来解释它们的应用场景。 ### 内连接...

    SQL语句left join/right join/inner join 的用法比较

    总结一下,LEFT JOIN和RIGHT JOIN的区别在于它们对缺失匹配项的处理方式:LEFT JOIN保持左表的完整性,而RIGHT JOIN保持右表的完整性。INNER JOIN则只保留两表中的交集部分。选择使用哪种JOIN取决于你的查询需求,即...

    (Left join , Right Join, Inner Join)用法详解

    本文将详细介绍三种常见的连接类型:Left Join、Right Join 和 Inner Join,并通过具体的例子来帮助大家理解这些连接的具体应用。 #### 二、Left Join Left Join(也称为 Left Outer Join)是从左表(即第一个被...

    关于sql的left join,right join,inner join,outerjoin

    总之,LEFT JOIN、RIGHT JOIN、INNER JOIN和OUTER JOIN是SQL语言中的核心部分,理解和熟练运用它们对于任何数据库开发人员都至关重要。通过不断的实践和学习,你可以更好地掌握这些JOIN类型,并在解决复杂数据查询...

    join on 语句及扩展

    这里我们将深入探讨几种JOIN类型及其使用,以及ON和WHERE子句的区别。 1. INNER JOIN: INNER JOIN返回两个表中匹配的记录。这意味着如果某个记录在其中一个表中没有对应的匹配项,那么这个记录就不会出现在结果集中...

    MySQL JOIN 语法说明与 INNER JOIN 语法用法实例.docx

    本文档详细介绍了 MySQL 中的 JOIN 语法,包括 INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL JOIN 等,并提供了实际的实例来说明 JOIN 的用法。 首先,MySQL 的 JOIN 语法用于根据两个或多个表中的字段之间的关系,从...

    关于SQL 中的inner join的使用

    #### 七、LEFT JOIN 和 RIGHT JOIN 示例 ##### LEFT JOIN 示例 **SQL语句**: ```sql SELECT * FROM A LEFT JOIN B ON A.aID = B.bID; ``` **结果**: | aID | aNum | bID | bName | |-----|---------|--------...

    sql join( inner join, outer join) 分析

    在这个主题中,我们将深入探讨INNER JOIN和OUTER JOIN,它们是JOIN的两种主要类型。 首先,我们来看INNER JOIN。INNER JOIN返回两个表中匹配的行。这意味着只有当第一个表中的某行与第二个表中的另一行在指定的关联...

    SQL表连接查询(inner join、full join、left join、right join)1

    在SQL中,主要有四种类型的连接查询:内连接(INNER JOIN)、左连接(LEFT JOIN)、右连接(RIGHT JOIN)和全连接(FULL JOIN)。下面将详细解释这四种连接方式。 1. 内连接(INNER JOIN): 内连接返回两个表中...

    SQL联合查询inner join、outer join和cross join的区别详解

    这三者的区别很多人都应该不是很清楚,包括我自己,下面我们一起来看看,如果你使用join连表,缺陷的情况下是inner join,另外,开发中使用的left join和right join属于outer join,而outer join还包括full join....

    INNERJOIN实例.pdf

    这种嵌套的方式可以处理更复杂的连接逻辑,但需要注意的是,INNER JOIN不能直接嵌套在LEFT JOIN或RIGHT JOIN中,因为LEFT JOIN和RIGHT JOIN会包含不匹配的记录,而INNER JOIN只返回匹配的。 LEFT JOIN(左连接)和...

    SQL 外链接操作小结 inner join left join right join

    外链接操作可以分为三种:inner join、left join 和 right join。 inner join 又称等值连接,是指从两个表中返回满足条件的记录。例如: ``` SELECT * FROM ctarticle AS a INNER JOIN ctclass AS b ON a.classid =...

    SQL left join

    在本文中,我们将详细介绍SQL Left Join的使用方法、特点和区别,以及与Right Join和Inner Join的比较。 一、SQL Left Join的定义和使用 SQL Left Join也称为左外连接,它可以将左表中的所有记录与右表中的记录...

    SQL中inner join、outer join和cross join的区别

    根据不同的连接方式,`JOIN`可以分为几种类型,包括`INNER JOIN`、`OUTER JOIN`(左外联接`LEFT JOIN`、右外联接`RIGHT JOIN`以及全外联接`FULL JOIN`)和`CROSS JOIN`。每种类型的`JOIN`都有其独特的应用场景和特点。...

Global site tag (gtag.js) - Google Analytics