为了理解简单内连接的计算方式,请参见以下查询。它回答的问题是:哪些产品尺码的订购数量与库存数量相同?
SELECT DISTINCT Name, Size, SalesOrderItems.Quantity FROM Products JOIN SalesOrderItems ON Products.ID = SalesOrderItems.ProductID AND Products.Quantity = SalesOrderItems.Quantity; |
Name | Size | Quantity |
---|---|---|
Baseball Cap | One size fits all | 12 |
Visor | One size fits all | 36 |
该查询解释如下。请注意,这是对如何处理此查询的概念说明,用来阐释涉及连接的查询的语义。它不表示 SQL Anywhere 实际计算结果集的方式。
创建 Products 表和 SalesOrderItems 表的矢量积。矢量积包含来自这两个表的各行的所有组合。
排除产品 ID 不相同的所有行(由于使用了连接条件 Products.ID = SalesOrderItems.ProductID
)。
排除数量不相同的所有行(由于使用了连接条件 Products.Quantity = SalesOrderItems.Quantity
)。
创建具有以下三列的结果表:Products.Name、Products.Size 和 SalesOrderItems.Quantity。
排除所有重复行(由于 DISTINCT 关键字)。
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |