`
zhaolei415
  • 浏览: 168888 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

理解内连接和外连接

阅读更多
内连接:进行连接的两个表对应的相匹配的字段完全相同的连接。join

外连接又分为左外连接和右外连接。
左连接即LEFT OUTER JOIN:
两个表进行左连接时会返回左边表中的所有的行和右边表中与之相匹配的列值没有相匹配的用空值代替。

右连接即RIGHT OUTER JOIN:
两个表进行右连接时会返回右边表中的所有的行和左边表中与之相匹配的列值没有相匹配的用空值代替。


我们建立两张表,students、class并插入测试数据
students
---------------------------
id     name     classId
1      name1    1
2      name2    null
3      name3    2
---------------------------

class

-----------------------
id       name
1        class1
2        class2
3        class3
-----------------------


实验结果如下:
mysql> select s.name,c.name from students s join class c where s.classId=c.id ; (注:inner join和join一样) 
+-------+-------+
| name  | class |
+-------+-------+
| name1 | 1     |
| name3 | 2     |
+-------+-------+
2 rows in set

mysql> select s.name,c.name from students s left join class c on s.classId=c.id ; (left join 和 left outer join 一样)
+-------+-------+
| name  | class |
+-------+-------+
| name1 | 1     |
| name2 | NULL  |
| name3 | 2     |
+-------+-------+
3 rows in set

mysql> select s.name,c.name from students s right join class c on s.classId=c.id ; (right join 和 right outer join 一样)
+-------+-------+
| name  | class |
+-------+-------+
| name1 | 1     |
| name3 | 2     |
| NULL  | 3     |
+-------+-------+
3 rows in set


分享到:
评论

相关推荐

    SQL内连接与外连接.pdf

    SQL中的连接操作是数据库查询中不可或缺的部分,...通过理解内连接和外连接,数据库管理员和开发者可以更好地设计查询,以处理复杂的数据库关系,并确保获取所需的信息。掌握这些概念是成为熟练的SQL用户的关键步骤。

    外连接,内连接 图文详解

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

    Hibernate 内连接和左外连接

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

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

    连接查询有两种:内连接和外连接。内连接使用比较运算符根据每个表共有的列的值匹配表中的行,查询出的结果只包含在满足连接条件的数据。外连接可以是左向外连接、右向外连接或完整外部连接。 左向外连接的结果集...

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

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

    理解oracle中的外连接

    在Oracle数据库系统中,外连接(Outer Join)是一种高级的SQL联接操作,它扩展了标准的内连接(Inner Join)概念,允许我们查询不匹配的数据。外连接分为三种类型:左外连接(Left Outer Join)、右外连接(Right ...

    数据库内外连接举例

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

    Java实现Socket长连接和短连接

    在Java编程中,Socket是网络通信的基础,它允许两个应用程序通过TCP/IP协议进行数据传输。Socket连接分为两种类型:长连接和短连接...通过深入理解这些概念和技术,可以有效地优化网络服务,提升应用的性能和用户体验。

    数据库内连接、外连接.ppt.ppt

    连接类型主要有内连接、外连接和交叉连接,这些方法在数据分析、报表生成和数据整合等场景中发挥着关键作用。 首先,我们来详细讨论内连接(INNER JOIN)。内连接是最常用的连接类型,它返回两个表中满足特定连接...

    数据库练习四内连接,外连接答案.doc

    数据库连接操作详解 本文将详细讲解数据库连接操作的相关知识点,通过对...本文详细讲解了内连接、自然连接、左连接、右连接和多表连接等连接方式,并提供了相关的实例代码,以便读者更好地理解和掌握数据库连接操作。

    数据库表连接(内外、左右连接).docx

    SQL 中的表连接主要分为三种类型:内连接、外连接和交叉连接。 1. **内连接(INNER JOIN)**: 内连接返回两个表中满足特定条件的匹配行。这种连接类型又可以细分为等值连接、自然连接和不等连接。等值连接基于两个...

    Oracle左(外)、右(外)、全(外)、(内)连接语法与SQL标准的比较

    本文将深入探讨Oracle中的左(外)、右(外)、全(外)以及内连接的语法,并将其与SQL标准进行比较,以帮助读者更好地理解和应用这些关键概念。 ### 左(外)连接(Left Outer Join) #### SQL标准语法 左(外)连接返回左...

    通用的分页存储过程,内置的函数、内连接、左外连接

    例如,在商品和订单系统中,可能会使用内连接来获取每个订单的商品详情。 另一方面,"左外连接"(LEFT JOIN)则会返回所有左表(通常是主表)的记录,即使在右表中没有匹配的记录。如果右表有匹配,结果将包含右表...

    MySQL数据库:外连接.pptx

    MySQL数据库中的外连接是数据查询中的一个重要概念,它允许我们在联接两个或多个表时,不仅包含匹配的行,还包含至少一个表的所有...理解并熟练掌握这两种外连接类型,对于优化查询策略和提供全面的分析结果至关重要。

    TCP中长连接短连接

    TCP/IP通信程序设计的核心在于如何有效地建立和管理连接,以及如何高效地传输数据。本文将详细探讨TCP中的长连接和短连接,这两种...同时,理解通信方式、连接管理及报文格式设计,对于编写高效的TCP/IP程序至关重要。

    SQL 四种连接-左外连接、右外连接、内连接、全连接详解

    SQL中的四种连接方式是数据库操作中非常重要的概念,它们分别是内连接、左外连接、右外连接和全连接。理解这四种连接可以帮助我们更有效地从多个表中提取所需信息。 1. **内连接(Inner Join)** 内连接是最常见的...

    理解oracle中的外连接.doc

    理解oracle中的外连接.doc

    wifi连接和断开

    总的来说,理解WiFi连接和断开的原理,以及UUID/GUID在其中的作用,对于网络管理员、IT技术人员以及普通用户来说都非常重要。这有助于解决网络连接问题,优化网络体验,以及确保网络安全。在处理WiFi问题时,分析...

    SQL多表外连接查询.pdf

    外连接主要分为两种类型:内连接和外连接。内连接仅包括两个表中符合连接条件的记录,而外连接则包括了在连接条件下的记录以及某一侧表中的额外记录,那些在另一侧表中没有对应记录的字段则以NULL值填充。 外连接...

Global site tag (gtag.js) - Google Analytics