首页课程SQL Fun Classtable join

table join

目录列表

表连接

到目前为止显示的所有查询,一次只从一个表中选择。

SQL 的最有利的特征之一是能够组合来自两个或多个表的数据。

在下面的两个表中,customers 表存储有关客户的信息,orders 表存储有关订单及其相应金额的信息。

customers 表:

99VCOWZ$N)(KPCB`T@MRB7F.png

orders 表:

0J}MB]N])1SOKR59ABN[[L9.png

在SQL中,“表连接” 表示组合来自两个或多个表的数据。表连接创建一个临时表,显示连接表中的数据。

下面关于 "表连接" 的叙述正确的是?

表连接

“orders” 表不是将客户名称存储在两个表中,而是包含对 “customers” 表中显示的客户ID的引用。这种方法更有效,而不是在两个表中存储相同的文本值。

为了能够从两个表中选择相应的数据,我们需要在这个条件下连接它们。

你将在下一小节中学习更多有关 “表连接” 的知识。


填写空格,从 "students" 表中选择 "id",并按 "id" 降序排序结果。

id FROM students id ;

表连接

要连接这两个表,请在 FROM 子句中将它们指定为逗号分隔列表。

SQL 语句如下所示:

SELECT customers.ID, customers.Name, orders.Name, orders.Amount
FROM customers, orders
WHERE customers.ID=orders.Customer_ID
ORDER BY customers.ID;

每个表包含 “ID ”和 “Name” 列,因此为了选择正确的 ID 和 Name,将使用完全限定名称。


请注意,WHERE 子句 “连接” 表,条件是来自 customers 表的 ID 应等于 orders 表的 customer_ID。

上面 SQL 语句执行输出结果如下:

{K)8MF6S~8Z3@7EVJIN)_0P.png

返回的数据显示客户订单及其相应金额。

在 FROM 中通过逗号分隔来指定多个表名。

从下面的选项中选择填写,完成使用表连接显示项目名称和购买项目的客户名称。

SELECT customers.name, items.names FROM , items items.seller_id=customers.id;