`
jaychang
  • 浏览: 734850 次
  • 性别: Icon_minigender_1
  • 来自: 嘉兴
社区版块
存档分类
最新评论

内连接与外连接

阅读更多

最近一段时间找工作,对以往的知识进行了复习,以下是本人对数据库中表连接的总结:

 

连接:连接是指将关系数据库中的两个表根据内容一定的条件连接成一个表

 

连接类型:内连接与外连接

 

a、内连接:又称等值连接,如

 

Java代码
  1. Select a.*,b.* From TableA a,TableB b where a.id = b.id;  
Select a.*,b.* From TableA a,TableB b where a.id = b.id;

 

 也可以:

 

Java代码
  1. Select a.*,b.* From TableA a INNER JOIN TableB b ON a.id = b.id;  
Select a.*,b.* From TableA a INNER JOIN TableB b ON a.id = b.id;

 

 

b、外连接(左外连接、右外连接、迫切左连接)

 

左外连接:以左表为基础来连接,如果左表的某行内容无法在右表中找到相对的row,则将右表统统用null来表示

 

Java代码
  1. Select a.*,b.* From TableA a LEFT JOIN TableB b ON a.id = b.id;  
Select a.*,b.* From TableA a LEFT JOIN TableB b ON a.id = b.id;

 

 

右外连接:以右表为基础来连接,如果右表的某行内容无法在左表中找到相对的row,则将左表统统用null来表示

 

Java代码
  1. Select a.*,b.* From TableA a RIGHT JOIN TableB b ON a.id = b.id;  
Select a.*,b.* From TableA a RIGHT JOIN TableB b ON a.id = b.id;

 

 

迫切左连接:解决N+1问题

如:A表与B表相连,B表与C表相连。当A与B表左连接( LEFT JOIN时,在加载B的同
时,也会加载与B相关联的C表;

                                                  当A与B表迫切左连接时(LEFT JOIN FETCH),只保证加载需要的实体,即B

 

Java代码
  1. Select a.*,b.* From TableA a LEFT JOIN FETCH TableB b   
分享到:
评论

相关推荐

    sql内连接和外连接

    ### SQL内连接与外连接详解 #### 一、SQL内连接(INNER JOIN) **定义**: 内连接(INNER JOIN)是一种最常用的连接方式,它仅返回两个数据集合中具有匹配关系的那些行。具体来说,它会从位于两个互相交叉的数据...

    内连接与外连接的精简写法

    内连接与外连接的精简写法,可用于sql和hql中,即使hql中两实体不存在实际上的主外键关系,也适用。

    MYSQL内连接与外连接的区别

    对MSSQL中的内连接和外连接所得出的数据集不是很清楚的童鞋可以参考参考

    SQL内连接与外连接.doc

    SQL内连接与外连接.doc

    SQL 左外连接,右外连接,全连接,内连接 四种连接的差异.doc

    SQL 连接的四种类型:左外连接、右外连接、全连接、内连接 在 SQL 中,连接(JOIN)是一种非常重要的概念,它允许我们从多个表中检索数据。连接可以分为四种类型:左外连接、右外连接、全连接和内连接。每种连接都...

    左外连接右外连接,内连接区别

    本文将深入探讨三种主要的连接类型:左外连接、右外连接和内连接,并通过具体的例子来阐述它们之间的区别。 首先,让我们从内连接(INNER JOIN)开始。内连接返回的是两个表中满足特定连接条件的记录。在示例中,`...

    SQL内连接与外连接.pdf

    主要的连接类型包括内连接(INNER JOIN)和外连接(OUTER JOIN),每种都有其特定的用途和效果。 1. **内连接(INNER JOIN)** - 内连接是基本的联接操作,它返回两个表中匹配的行。匹配是基于在`ON`子句中指定的...

    SQL优化使用内连接代替外连接

    SQL优化--使用内连接(inner join)代替外连接(left join,right join)

    sql左外连接、右外连接、内连接、全外连接的区别

    右外连接与左外连接相反,它返回右表的所有记录,即使左表中没有匹配的记录。如果左表中没有匹配,则结果集中的左表字段为NULL。 #### 示例: 使用同样的数据表`user`和`department`,执行以下SQL语句: ```sql ...

    外连接,内连接 图文详解

    本文将详细解释五种主要的连接类型:外连接(外连接)、内连接(内连接)、左连接(LEFT JOIN)、右连接(RIGHT JOIN)、全连接(FULL JOIN)以及交叉连接(CROSS JOIN)。 1. **内连接(INNER JOIN)**: 内连接...

    SQL 连接 JOIN 例解左连接,右连接,全连接,内连接,交叉连接,自连接

    本文将详细介绍六种主要类型的 JOIN:左连接(LEFT JOIN)、右连接(RIGHT JOIN)、全连接(FULL JOIN)、内连接(INNER JOIN)、交叉连接(CROSS JOIN)以及自连接(SELF JOIN)。通过实例讲解每种连接的特点和应用...

    查询语句-内连接外连接的区别

    查询语句-内连接外连接的区别 SQL(Structured Query Language),即结构化查询语言,是关系数据库的标准语言。数据库的查询是数据库的核心操作。SQL 查询语句格式主要包括 SELECT、FROM、WHERE、GROUP BY、HAVING...

    SQL_左外连接_右外连接_全连接_内连接

    右外连接与左外连接相反,返回右表的所有行,即使在左表中没有匹配的行。对于左表中没有匹配的行,结果集中的相应列将是NULL。 ```sql SELECT authors.*, publishers.* FROM authors RIGHT JOIN publishers ...

    SQL 内连接,外连接

    SQL 内连接,外连接:假设一堆男女在教堂,有夫妇有单身的,假设男为左表,女为右表......

    SQL关于内连接,外连接(左右连接)等的总结

    当我们需要从多个表中获取数据并合并它们时,SQL提供了不同类型的连接操作,包括内连接、外连接(左连接和右连接)。以下是这些连接方式的详细说明。 **内连接(Inner Join)** 内连接返回两个表中存在匹配的记录。...

    SQL子查询、内连接和外连接查询

    【SQL子查询、内连接和外连接查询】 在SQL中,子查询、内连接和外连接是进行复杂数据检索的关键工具。这些概念的理解和熟练应用对于数据库管理与数据分析至关重要。 **子查询** 是一个嵌套在其他SQL语句中的查询,...

    Hibernate 内连接和左外连接

    本文主要讨论的是内连接(INNER JOIN)和左外连接(LEFT OUTER JOIN)两种类型,并结合实际例子进行详细讲解。 内连接(INNER JOIN)返回两个表中匹配的行。这意味着只有当第一个表的某行与第二个表的某行有匹配的...

    数据库连接查询相关外连接内连接

    本篇文章将深入探讨数据库连接查询,包括内连接、外连接和交叉连接等,同时结合实例来帮助理解。 首先,了解数据库的基础架构。Oracle数据库由Oracle数据库(数据文件、控制文件、重做日志文件等)和Oracle实例...

    数据库内外连接举例

    主要分为内连接、外连接和交叉连接,每种连接都有其特定的应用场景和逻辑。 内连接(INNER JOIN)是最常见的连接类型,它返回两个表中列相等的行。在内连接中,查询条件通常基于两个表之间的共同列,只有当这些列的...

Global site tag (gtag.js) - Google Analytics