这篇文章主要介绍“SQL的内连接和外连接怎么用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“SQL的内连接和外连接怎么用”文章能帮助大家解决问题。JOIN 运算符允许您以各种方式组合相关信息,正如我在上面简要解释的那样。连接有多种类型,分为两大类 – 内部连接和外部连接。INNER JOIN 和 OUTER JOIN 之间的最大区别在于,内连接将仅保留来自彼此相关的两个表(在结果表中)的信息。另一方面,外部联接还将保留与结果表中的另一个表无关的信息。让我们详细了解 INNER JOIN 和 OUTER JOIN 如何工作以更好地理解它们。内部联接将仅保留来自两个相关联的表的信息。如果您将这两个表想象为维恩图,则由 INNER JOIN 生成的表将是下面它们重叠的绿色突出显示部分:内连接的维恩图表示这是内部联接的语法:内连接语法我们将在下面通过一个例子来了解它是如何工作的。如果要保留所有数据,而不仅仅是相互关联的数据,则可以使用 OUTER 联接。有三种类型的外部联接:LEFT JOIN,RIGHT JOIN,和FULL JOIN。它们之间的差异涉及它们保留哪些不相关的免费云主机域名数据——它可以来自第一个表、第二个表或两者。没有要填充的数据的单元格的值为NULL。注意:LEFT JOIN是所有版本的 SQL 中最普遍实现的。但是对于RIGHT JOIN和FULL JOIN就不是这样了,在早期的各种SQL版本中都没有实现(但oracle数据库在数据表连接方面实现得比较充分)。让我们看看每个人是如何单独工作的。然后我们将通过下面的示例了解它们是如何工作的。LEFT OUTER JOIN,或简称Left Join,将保留左(第一个)表中的不相关数据。您可以用带有两个圆圈的维恩图来想象它,结果表是绿色突出显示的部分,其中包括公共/重叠部分和左侧圆圈的其余部分。左外连接的维恩图表示语法如下所示。您会看到它类似于 Inner Join 语法,但添加了LEFT关键字。左外连接RIGHT OUTER JOIN,或简称为Right Join,将保留与第一个表无关的第二个表中的数据。您可以用带有两个圆圈的维恩图来想象它,结果表是绿色突出显示的部分,其中包括重叠部分和右侧圆圈的其余部分。右外连接的维恩图表示语法如下,唯一的区别是RIGHT关键字。右外连接您可以将 FULL OUTER JOIN 视为左连接和右连接的组合。它将保留两个表中的所有行,缺失的数据将用NULL.您可以用带有两个圆圈的维恩图来想象它,结果表是绿色突出显示的部分,其中包括所有内容:重叠部分、左圆和右圆。完全外连接的维恩图表示语法如下,使用FULL关键字。全外连接兽医诊所可能的数据库可以有一张用于宠物的表和一张用于主人的表。由于一个所有者可能有多个宠物,因此 pets 表将有一owner_id列指向所有者表。您可以使用简单的查询来获取一个带有彼此相邻的宠物名称和所有者名称的表。让我们用所有不同的 JOIN 运算符来做。让我们首先使用JOIN.在这种情况下,你会SELECT选择在pets表中的列name(并将其重命名pet_name)。然后从owners表中选择列name,并将其重命名为owner.。这将是这样的:SELECT pets.name AS pet_name, owners.name AS owner
。接着,可以使用FROM关键字声明列来自pets表,并使用JOIN关键字声明想与owners表进行连接:FROM pets JOIN owner
。最后,当需要加入的两列一一对应时,使用ON关键字将pets表的owner_id与owners表的id使用等号连接起来: pets.owner_id = owners.id
。这是全部:您将得到如下表格,其中仅包括与主人有关的宠物和与宠物有关的主人。让我们执行相同的查询,LEFT JOIN以便您可以看到不同之处。除了添加LEFT关键字之外,查询是相同的。在这种情况下,左表中的行pets, 全部保留,当owners表中缺少数据时,用 填充NULL。似乎有一只宠物没有在主人那里注册。如果您使用 using 执行相同的查询RIGHT JOIN,则会得到不同的结果。在这种情况下,右表中的所有行owners, 都被保留,如果有缺失值,则用 填充NULL。似乎有一个没有注册宠物的主人。您可以再次执行相同的查询,使用FULL JOIN.结果表再次不同——在这种情况下,两个表中的所有行都被保留。在我们的数据库中似乎有没有主人的宠物和没有宠物的主人。关于“SQL的内连接和外连接怎么用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注百云主机行业资讯频道,小编每天都会为大家更新不同的知识点。
相关推荐: Linux的CentOS 7中如何搭建Tomcat 8服务器
这篇文章给大家分享的是有关Linux的CentOS 7中如何搭建Tomcat 8服务器的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。