SQL 语言(命令)快速入门 (3)

连接多个数据表
最后,我们来看一下如果使用 SQL 语言连接多个数据表,实现对多个数据表的查询。为方便讲解,我们在 数据库 中分别创建了两个名为 Store_Information Region 的数据表。
Store_Information
Store_Name
Sales
Date
Los Angeles
$1500
Jan-10-2000
San Diego
$250
Jan-11-2000
Los Angeles
$300
Jan-12-2000
Boston
$700
Jan-12-2000
Region
Region_Name
Store_Name
East
Boston
East
New York
West
Los Angeles
West
San Diego
下面,我们就来看一下通过数据表的连接实现按不同区域查询销售额。
我们注意到在名为 Region 的数据表中包含区域和商店两个字段信息,而在名为 Store_Information 的数据表中则包含每一家商店的销售信息。因此,为了得到按区域划分的销售信息,我们需要将两个不同数据表的信息结合在一起进行查询。通过对上述两个数据表的分析,我们发现每个数据表中都包含一个名为 Store_Name 的字段,因此,我们可以使用如下命令实现查询目的:
SELECT A1.region_name REGION, SUM(A2.Sales) SALES
FROM Geography A1, Store_Information A2
WHERE A1.store_name = A2.store_name
GROUP BY A1.region_name
查询结果显示为:
REGION SALES
East $700
West $2050
说明:
上述查询命令的前两行用于指定所要查询的目标字段,分别为 Region 数据表中的 Region_Name 字段和 Store_Information 数据表中 Sales 字段的记录值总数。这里,我们设定两个字段的别名分别为 REGION SALES ,两个数据表的别名分别为 A1 A2 。如果我们只使用字段别名而不设定数据表别名的话,上述 SQL 命令的第一行就变成 如下形式:
SELECT Region.Region_Name REGION, SUM(Store_Information.Sales) SALES
由此我们可以看出有效的使用数据表别名,可以极大的简化对多个数据表进行操作的 SQL 命令。
上述查询命令的第 3 行为 WHERE 从句,正是该从句设定了两个数据表的连接条件。因为我们希望确保 Region 数据表中的 Store_Name 字段能够与 Store_Information 数据表中的同名字段相对应,所以我们规定两个字段的记录值应当相等。在连接多个数据表时,一定要准确设定数据表的连接条件,如果 WHERE 从句设定不正确,则可能导致查询结果中出现众多不相关的数据

你可能感兴趣的:(sql,数据库,命令,职场,休闲)