关系数据库是许多业务的一个稳定的组成部分。它们是用一种称为结构化查询语言(SQL)的计算机语言创建的。如果使用关系数据库,有时会检查或收集位于数据库多个表中的数据。
SQL JOIN语句使连接两个或多个表成为可能,通常基于相关列,以便将数据视为位于一个表中。联接不会改变表本身。
SQL连接是灵活和功能性的。尽管有几种类型的联接,但内部联接是最容易理解和使用的联接之一。下面的SQL语句演示了如何使用内部联接组合来自三个不同表的结果。
例如,以一个表中包含驾驶员的表和第二个表中包含车辆匹配的表为例。内部连接发生在车辆和驾驶员位于同一城市的地方。内部联接从两个表中选择包含位置列之间匹配的所有行。
在驾驶员和车辆位于同一城市的情况下,下面的SQL语句结合了驾驶员和车辆表中的数据:
SELECT lastname, firstname, tagFROM drivers, vehiclesWHERE drivers.location = vehicles.location此查询生成以下结果:
lastname firstname tag-------- --------- ---Baker Roland H122JMSmythe Michael D824HASmythe Michael P091YFJacobs Abraham J291QRJacobs Abraham L990MT现在,扩展此示例以包括第三个表。要仅包括周末开放地点的驾驶员和车辆,请通过扩展JOIN语句将第三个表带入查询,如下所示:
SELECT lastname, firstname, tag, open_weekendsFROM drivers, vehicles, locationsWHERE drivers.location = vehicles.locationAND vehicles.location = locations.locationAND locations.open_weekends = 'Yes'此查询生成以下结果:
lastname firstname tag open_weekends-------- --------- --- -------------Baker Roland H122JM yesJacobs Abraham J291QR yesJacobs Abraham L990MY yes这个对基本SQL JOIN语句的强大扩展以复杂的方式组合数据。除了将表与内部联接相结合外,该技术还将多个表与其他类型的联接相结合。
当表具有匹配的记录时,可以使用内部联接,但有时一个表没有构建联接所基于的数据的相关记录,因此查询失败。这种情况需要外部联接,其中包括一个表中存在的结果,但在联接表中没有相应的匹配项。
此外,您可以根据具体情况选择使用不同类型的联接。其他类型的联接包括:
...存储数据的数据库类型。这些表是相互关联的,因为它们使用约束。MySQL是一个关系数据库管理系统。用于对数据库执行操作的语言称为SQL。SQL与MySQL的主要区别在于SQL是一种管理关系数据库中数据的语言,MySQL是一种开源的关系...
...表示id、name、grade、age等属性。DBMS是表的集合,每个表都使用诸如外键之类的约束进行关联。有时仅仅使用一个表是不够的。有些情况下需要使用多个表。要组合两个表,至少有一列是公共的。表的组合称为联接。 目录 1. 概述...
...件从表中检索、更新或删除一组特定的数据。程序员可以使用where子句来限制和获取所需的数据。查询只对where子句指定的条件为true的记录执行。它可以与select、update和delete一起使用。 参考下面的学生表, 要选择student_id等于...
...库驱动着现代网络。每个大的或动态的网站都以某种方式使用数据库,当与结构化查询语言(SQL)结合使用时,操纵数据的可能性真的是无穷无尽。如果您已经知道SQL,请确保您检查了所有网站开发人员都应该知道的编程技能。...
使用MySQL等关系数据库的最大好处之一是,它的关系结构允许您轻松地跨多个表存储和查询信息。 ...
...们是以列和行的形式保存数据的实际单个单元。每个表都使用一个标识符键来构造,该标识符键对于每一行都是唯一的。我们所有的操作都是基于这些键-你可以通过进一步阅读来学习如何使用它们。在我们继续讨论差异之前,...
...组成部分。它为分析查询提供了高性能。通常,管理社区使用数据仓库。 覆盖的关键领域 1.什么是数据库-定义,功能2.什么是数据仓库-定义,功能3.数据库和数据仓库的区别-关键区别比较 关键术语 数据库、数据仓库、DBMS 什...
...语言(DDL)命令。 where子句 此外,还可以在delete命令中使用where子句来过滤和删除记录。但是,不能将where子句与truncate命令一起使用。 执行速度 执行速度是delete和truncate之间的另一个区别。由于delete命令维护日志,所以速度很...
...有助于更改表的现有记录。我们可以将它与WHERE子句一起使用来更改一个或多个特定的记录。 以下报表将员工3部门改为销售部。 更新emp\u id=3的employee SET department='Sales'; 现在表格如下。 此外,还可以更改多列的值。 更新employ...
...。它将数据存储在表中,这些表彼此关联。开发人员可以使用SQL语言对RDBMS执行操作。此外,TSQL是SQL的扩展版本。 覆盖的关键领域 1.什么是SQL–定义,功能2.什么是TSQL–定义,功能3.SQL和TSQL的区别是什么–关键区别的比较 关键...