先说背景:曾经一直认为左连接和左外连接是不一样的,在学校学习的时候这概念都很模糊,毕业的时候又基本都交给老师了,现在才知道原来左连接是左外连接的简写。。。。。下面详细的介绍一下自己的理解吧。如果有错,请大家指正。
首先sql的多表连接分为两大部分:外连接和内连接,外连接又分为左连接,右连接,全外连接
。
左右连接的区别:
A
left
join
B 的结果集与A表的记录数同
A
right
join
B 的结果集与B表的记录数同
A
left
join
B 等价 B
right
join
A
内连接:
A
inner
join
B
on
a.id
=
b.id 结果集是AB两表的交集
select
*
from
a
inner
join
b
on
a.id
=
b.id 等价于
select
*
from
a,b
where
a.id
=
b.id
注意:(以下摘自 http://www.cnblogs.com/cy163/archive/2008/10/16/1312920.html)
在你要使用多个left join的时候 比如说10个
我们把10个全都写成left join的形式
然后再SQL让他自动运行一下,它会把最后一次出现的left join变成left
outer
join
所以依此推理,最后一个left join会以left
outer
join的形式存在
当然,不管变不变对结果的显示没有任何影响
CROSS
JOIN
笛卡尔乘积(所有可能的行对)注意不能使用on,
在交叉连接中没有on条件子句
INNER
JOIN
仅对满足连接条件的CROSS中的列
LEFT
OUTER
JOIN
一个表满足条件的行,和另一个表的所有行
RIGHT
OUTER
JOIN
与LEFT相同,但两个表的角色互换
FULL
OUTER
JOIN
LEFT
OUTER
和
RIGHT
OUTER中所有行的超集
分享到:
相关推荐
连接可以分为四种类型:左外连接、右外连接、全连接和内连接。每种连接都有其特点和应用场景。 一、左外连接(LEFT OUTER JOIN) 左外连接是指从左表中检索所有行,并从右表中检索匹配的行。如果左表的某行在右表...
### SQL内连接与外连接详解 ...通过以上介绍,我们可以看出,无论是内连接还是外连接,在处理多表关联查询时都有其独特的作用和应用场景。合理选择和使用这些连接方式,可以帮助我们更高效地完成数据库查询任务。
本文将深入探讨三种主要的连接类型:左外连接、右外连接和内连接,并通过具体的例子来阐述它们之间的区别。 首先,让我们从内连接(INNER JOIN)开始。内连接返回的是两个表中满足特定连接条件的记录。在示例中,`...
根据连接的方向和目的,可以分为几种不同的类型:左外连接(LEFT JOIN)、右外连接(RIGHT JOIN)、内连接(INNER JOIN)以及全外连接(FULL JOIN)。下面将详细介绍这四种连接类型,并通过示例来解释它们之间的区别...
本文将详细解释五种主要的连接类型:外连接(外连接)、内连接(内连接)、左连接(LEFT JOIN)、右连接(RIGHT JOIN)、全连接(FULL JOIN)以及交叉连接(CROSS JOIN)。 1. **内连接(INNER JOIN)**: 内连接...
当我们需要从多个表中获取数据并合并它们时,SQL提供了不同类型的连接操作,包括内连接、外连接(左连接和右连接)。以下是这些连接方式的详细说明。 **内连接(Inner Join)** 内连接返回两个表中存在匹配的记录。...
SQL中的连接操作是数据库查询...- 全外连接将返回所有`a`和`b`的行,如果有任何一方没有匹配,相应的列将被填充为NULL。 理解这些连接类型对于编写复杂的SQL查询至关重要,可以帮助你有效地提取和分析数据库中的数据。
SQL优化--使用内连接(inner join)代替外连接(left join,right join)
本文主要讨论的是内连接(INNER JOIN)和左外连接(LEFT OUTER JOIN)两种类型,并结合实际例子进行详细讲解。 内连接(INNER JOIN)返回两个表中匹配的行。这意味着只有当第一个表的某行与第二个表的某行有匹配的...
例如,在查询表 a 和表 b 时,可以使用内连接、左向外连接或右向外连接,具体选择哪种连接方式取决于实际情况。 此外,SQL 查询语句还可以根据实际情况进行修改和组合,以满足不同的查询需求。例如,可以使用 WHERE...
【SQL子查询、内连接和外连接查询】 在SQL中,子查询、内连接和外连接是进行复杂数据检索的关键工具。这些概念的理解和熟练应用对于数据库管理与数据分析至关重要。 **子查询** 是一个嵌套在其他SQL语句中的查询,...
- **全外连接(Full Outer Join)**:返回左表和右表中所有的记录,左表和右表中没有匹配的数据会用`NULL`填充。 - 示例代码: ```sql SELECT t.*, s.* FROM teacher t FULL OUTER JOIN student s ON t.id = s....
对MSSQL中的内连接和外连接所得出的数据集不是很清楚的童鞋可以参考参考
本篇文章将深入探讨数据库连接查询,包括内连接、外连接和交叉连接等,同时结合实例来帮助理解。 首先,了解数据库的基础架构。Oracle数据库由Oracle数据库(数据文件、控制文件、重做日志文件等)和Oracle实例...
主要分为内连接、外连接和交叉连接,每种连接都有其特定的应用场景和逻辑。 内连接(INNER JOIN)是最常见的连接类型,它返回两个表中列相等的行。在内连接中,查询条件通常基于两个表之间的共同列,只有当这些列的...
主要的连接类型有内连接、左外连接、右外连接和全连接。理解这些连接方式的区别有助于设计更有效的查询,以满足不同的数据需求。 1. **内连接(Inner Join)**: 内连接只返回那些在两个表中都存在匹配的行。...
根据连接方式的不同,可以将连接分为几种类型,包括内连接(Inner Join)、左连接(Left Join)、右连接(Right Join)以及全连接(Full Outer Join)。此外,还有分组(Group By)、排序(Order By)、全文搜索等...
全外连接结合了左外连接和右外连接的功能,返回两个表中的所有记录,无论是否存在匹配。如果一个表中没有匹配项,那么结果将显示另一个表的所有字段,并在没有匹配的字段处填充NULL。 除了这些外连接,还有其他类型...
本文将详细介绍六种主要类型的 JOIN:左连接(LEFT JOIN)、右连接(RIGHT JOIN)、全连接(FULL JOIN)、内连接(INNER JOIN)、交叉连接(CROSS JOIN)以及自连接(SELF JOIN)。通过实例讲解每种连接的特点和应用...