到目前为止显示的所有查询,一次只从一个表中选择。
SQL 的最有利的特征之一是能够组合来自两个或多个表的数据。
在下面的两个表中,customers 表存储有关客户的信息,orders 表存储有关订单及其相应金额的信息。
customers 表:
orders 表:
在SQL中,“表连接” 表示组合来自两个或多个表的数据。表连接创建一个临时表,显示连接表中的数据。
“orders” 表不是将客户名称存储在两个表中,而是包含对 “customers” 表中显示的客户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 语句执行输出结果如下:
返回的数据显示客户订单及其相应金额。
在 FROM 中通过逗号分隔来指定多个表名。
SELECT customers.name, items.names FROM , items items.seller_id=customers.id;