SQL 语言(命令)快速入门 (3)
2007-02-02 10:09
435 查看
[align=center]连接多个数据表[/b][/align]
[align=left]最后,我们来看一下如果使用SQL语言连接多个数据表,实现对多个数据表的查询。为方便讲解,我们在数据库中分别创建了两个名为Store_Information和Region的数据表。[/align]
[align=center]Store_Information[/align]
[align=center]Region[/align]
[align=left]下面,我们就来看一下通过数据表的连接实现按不同区域查询销售额。[/align]
[align=left]我们注意到在名为Region的数据表中包含区域和商店两个字段信息,而在名为Store_Information的数据表中则包含每一家商店的销售信息。因此,为了得到按区域划分的销售信息,我们需要将两个不同数据表的信息结合在一起进行查询。通过对上述两个数据表的分析,我们发现每个数据表中都包含一个名为Store_Name的字段,因此,我们可以使用如下命令实现查询目的:[/align]
[align=left]SELECT A1.region_name REGION, SUM(A2.Sales) SALES [/align]
[align=left]FROM Geography A1, Store_Information A2 [/align]
[align=left]WHERE A1.store_name = A2.store_name [/align]
[align=left]GROUP BY A1.region_name[/align]
[align=left]查询结果显示为:[/align]
[align=left]REGION SALES [/align]
[align=left]East $700 [/align]
[align=left]West $2050 [/align]
[align=left]说明:[/align]
[align=left]上述查询命令的前两行用于指定所要查询的目标字段,分别为Region数据表中的Region_Name字段和Store_Information数据表中Sales字段的记录值总数。这里,我们设定两个字段的别名分别为REGION和SALES,两个数据表的别名分别为A1和A2。如果我们只使用字段别名而不设定数据表别名的话,上述SQL命令的第一行就变成 如下形式:[/align]
[align=left]SELECT Region.Region_Name REGION, SUM(Store_Information.Sales) SALES[/align]
[align=left]由此我们可以看出有效的使用数据表别名,可以极大的简化对多个数据表进行操作的SQL命令。[/align]
[align=left]上述查询命令的第3行为WHERE从句,正是该从句设定了两个数据表的连接条件。因为我们希望确保Region数据表中的Store_Name字段能够与Store_Information数据表中的同名字段相对应,所以我们规定两个字段的记录值应当相等。在连接多个数据表时,一定要准确设定数据表的连接条件,如果WHERE从句设定不正确,则可能导致查询结果中出现众多不相关的数据 [/align]
[align=left]最后,我们来看一下如果使用SQL语言连接多个数据表,实现对多个数据表的查询。为方便讲解,我们在数据库中分别创建了两个名为Store_Information和Region的数据表。[/align]
[align=center]Store_Information[/align]
[align=center]Store_Name [/align] | [align=center]Sales [/align] | [align=center]Date [/align] |
[align=center]Los Angeles [/align] | [align=center]$1500 [/align] | [align=center]Jan-10-2000 [/align] |
[align=center]San Diego [/align] | [align=center]$250 [/align] | [align=center]Jan-11-2000 [/align] |
[align=center]Los Angeles [/align] | [align=center]$300 [/align] | [align=center]Jan-12-2000 [/align] |
[align=center]Boston [/align] | [align=center]$700 [/align] | [align=center]Jan-12-2000 [/align] |
[align=center]Region_Name [/align] | [align=center]Store_Name [/align] |
[align=center]East [/align] | [align=center]Boston [/align] |
[align=center]East [/align] | [align=center]New York [/align] |
[align=center]West [/align] | [align=center]Los Angeles [/align] |
[align=center]West [/align] | [align=center]San Diego [/align] |
[align=left]我们注意到在名为Region的数据表中包含区域和商店两个字段信息,而在名为Store_Information的数据表中则包含每一家商店的销售信息。因此,为了得到按区域划分的销售信息,我们需要将两个不同数据表的信息结合在一起进行查询。通过对上述两个数据表的分析,我们发现每个数据表中都包含一个名为Store_Name的字段,因此,我们可以使用如下命令实现查询目的:[/align]
[align=left]SELECT A1.region_name REGION, SUM(A2.Sales) SALES [/align]
[align=left]FROM Geography A1, Store_Information A2 [/align]
[align=left]WHERE A1.store_name = A2.store_name [/align]
[align=left]GROUP BY A1.region_name[/align]
[align=left]查询结果显示为:[/align]
[align=left]REGION SALES [/align]
[align=left]East $700 [/align]
[align=left]West $2050 [/align]
[align=left]说明:[/align]
[align=left]上述查询命令的前两行用于指定所要查询的目标字段,分别为Region数据表中的Region_Name字段和Store_Information数据表中Sales字段的记录值总数。这里,我们设定两个字段的别名分别为REGION和SALES,两个数据表的别名分别为A1和A2。如果我们只使用字段别名而不设定数据表别名的话,上述SQL命令的第一行就变成 如下形式:[/align]
[align=left]SELECT Region.Region_Name REGION, SUM(Store_Information.Sales) SALES[/align]
[align=left]由此我们可以看出有效的使用数据表别名,可以极大的简化对多个数据表进行操作的SQL命令。[/align]
[align=left]上述查询命令的第3行为WHERE从句,正是该从句设定了两个数据表的连接条件。因为我们希望确保Region数据表中的Store_Name字段能够与Store_Information数据表中的同名字段相对应,所以我们规定两个字段的记录值应当相等。在连接多个数据表时,一定要准确设定数据表的连接条件,如果WHERE从句设定不正确,则可能导致查询结果中出现众多不相关的数据 [/align]
相关文章推荐
- SQL 语言(命令)快速入门 (1)
- SQL 语言(命令)快速入门 (2)
- SQL语言快速入门
- SQL语言快速入门(三)
- [SQL]SQL语言入门级教材_SQL语言快速入门(五)
- bat 批处理 for 命令快速入门
- Windows下C语言网络编程快速入门
- go语言快速入门:go的反射机制(22)
- Oracle PL/SQL语言入门
- Go语言入门教程之基础语法快速入门
- R语言入门视频笔记--2--一些简单的命令
- C++快速入门 (十六) 预编译处理命令
- 【极客营】LINQ入门篇—LINQ,类似SQL的集成化查询语言
- Common Lisp语言快速入门
- Nodejs之view中的视图模板之——EJS模板语言,快速入门
- Oracle学习笔记四 SQL命令(二):SQL操作语言类别
- Python语言快速入门
- Enterprise Library 4.1数据访问应用程序块快速入门【3】执行命令和访问输出参数
- sql_快速入门
- Lua 语言 15 分钟快速入门