外连接接触得很少,所以概念居然都不清楚,前段时间找了例子看了一下,感觉懂了,这下看书复习的时候发现又不会了,特别记录一下。
首先说明一下外连接的主要作用:当两个表连接查询时需要使用到一个连接条件,通常情况下,是一个a.id = b.id这样的条件,并且通常情况下a.id和b.id都可以一一对应上,但是当a中的id和b中的id存在差异的时候,例如a.id(1,2),b.id(1,2,3),再次使用普通的连接查询,得到的结果就不会包含b.id=3的情况,这个时候如果需要显示b.id=3的数据,就要用到外连接。
最常见的左外连接,left join
先介绍例子用到的数据
表a
id name
1 iphone
2 nokia
3 htc
表b
id price
1 5000
2 3000
加入我们现在需要查询手机的价格
普通连接查询为select * from a,b where a.id = b.id
得到的结果为
a.id name b.id price
1 iphone 1 5000
2 nokia 2 3000
这里因为没有htc的价格记录,所以没有出现和htc有关的结果,这个时候我们希望把a表中的所有数据条目都显示出来,如果在b表中没有对应记录的就显示为NULL,这时候就需要用到外连接。
select * from a left join b on a.id = b.id
得到的结果为
a.id name b.id price
1 iphone 1 5000
2 nokia 2 3000
3 htc NULL NULL
这个就是外连接的主要作用,至于哪个表连接哪个表,取决于要完整显示的是那个表的数据,哪个表就放在前面。
顺便说一下,普通的连接查询就是内连接
select * from a inner join b on a.id = b.id
效果等同于普通的查询连接
分享到:
相关推荐
SQL 连接的四种类型:左外连接、右外连接、全连接、内连接 在 SQL 中,连接(JOIN)是一种非常重要的概念,它允许我们从多个表中检索数据。连接可以分为四种类型:左外连接、右外连接、全连接和内连接。每种连接都...
### SQL内连接与外连接详解 #### 一、SQL内连接(INNER JOIN) **定义**: 内连接(INNER JOIN)是一种最常用的连接方式,它仅返回两个数据集合中具有匹配关系的那些行。具体来说,它会从位于两个互相交叉的数据...
本文将围绕“自连接外连接”这一主题展开,详细解析Oracle数据库中连接查询的具体实现方法,包括内连接、外连接以及自连接的概念、应用场景及语法示例。 #### 内连接(Inner Join) 内连接主要用来合并两个或多个...
右外连接与左外连接相反,返回右表的所有行,即使在左表中没有匹配的行。对于左表中没有匹配的行,结果集中的相应列将是NULL。 ```sql SELECT authors.*, publishers.* FROM authors RIGHT JOIN publishers ...
根据连接的方向和目的,可以分为几种不同的类型:左外连接(LEFT JOIN)、右外连接(RIGHT JOIN)、内连接(INNER JOIN)以及全外连接(FULL JOIN)。下面将详细介绍这四种连接类型,并通过示例来解释它们之间的区别...
MySQL数据库中的外连接是数据查询中的一个重要概念,它允许我们在联接两个或多个表时,不仅包含匹配的行,还包含至少一个表的所有行。这与内连接不同,内连接只返回两个表中存在匹配的行。外连接分为两种主要类型:...
Oracle的外连接查询是数据库操作中的重要组成部分,它允许用户获取来自两个或更多表的数据,即使在某些情况下,这些表之间的连接条件不完全匹配。在理解外连接查询之前,我们首先要了解内连接,即最基础的相等连接。...
本文主要讨论的是内连接(INNER JOIN)和左外连接(LEFT OUTER JOIN)两种类型,并结合实际例子进行详细讲解。 内连接(INNER JOIN)返回两个表中匹配的行。这意味着只有当第一个表的某行与第二个表的某行有匹配的...
【SQL子查询、内连接和外连接查询】 在SQL中,子查询、内连接和外连接是进行复杂数据检索的关键工具。这些概念的理解和熟练应用对于数据库管理与数据分析至关重要。 **子查询** 是一个嵌套在其他SQL语句中的查询,...
数据库实践四(内连接外连接)答案 数据库实践四(内连接外连接)答案是一个关于数据库操作的实践题目,涵盖了数据库的基本操作,包括内连接、外连接、子查询等。下面对每个题目进行详细的解释和分析: 一、创建...
本文将深入探讨三种主要的连接类型:左外连接、右外连接和内连接,并通过具体的例子来阐述它们之间的区别。 首先,让我们从内连接(INNER JOIN)开始。内连接返回的是两个表中满足特定连接条件的记录。在示例中,`...
SQL优化--使用内连接(inner join)代替外连接(left join,right join)
另一方面,"左外连接"(LEFT JOIN)则会返回所有左表(通常是主表)的记录,即使在右表中没有匹配的记录。如果右表有匹配,结果将包含右表的记录;如果没有,相应的字段将填充为NULL。这在处理不完全一对多或多对多...
对MSSQL中的内连接和外连接所得出的数据集不是很清楚的童鞋可以参考参考
本文将详细解释五种主要的连接类型:外连接(外连接)、内连接(内连接)、左连接(LEFT JOIN)、右连接(RIGHT JOIN)、全连接(FULL JOIN)以及交叉连接(CROSS JOIN)。 1. **内连接(INNER JOIN)**: 内连接...
然后,我们提到的是“雅虎外连接”,这指的是其他网站链接到该网站的数量。外部链接(也称为反向链接或入链)是SEO的一个关键因素,因为它代表了其他网站对你的网站的认可。雅虎曾提供过查询这些数据的服务,虽然...
完整外连接(FULL JOIN 或 FULL OUTER JOIN)则同时包含左外连接和右外连接的所有行,即使在一个表中没有匹配的行,结果也会包含另一表的所有数据,对应列填充NULL。 交叉连接(CROSS JOIN)也称为笛卡尔积,它返回...
主要的连接类型有内连接、左外连接、右外连接和全连接。理解这些连接方式的区别有助于设计更有效的查询,以满足不同的数据需求。 1. **内连接(Inner Join)**: 内连接只返回那些在两个表中都存在匹配的行。...
外连接分为三种类型:左外连接(Left Outer Join)、右外连接(Right Outer Join)和全外连接(Full Outer Join)。本篇文章将深入探讨这三种外连接的概念、语法以及它们在实际应用中的作用。 1. 左外连接(Left ...
当我们需要从多个表中获取数据并合并它们时,SQL提供了不同类型的连接操作,包括内连接、外连接(左连接和右连接)。以下是这些连接方式的详细说明。 **内连接(Inner Join)** 内连接返回两个表中存在匹配的记录。...