作者: 书生
原定计划从本篇开始就要给大家介绍 ASP 内建的 ActiveX
组件,但是考虑到我们在往后的学习中将会接触到大量的数据库查询,因此作者临时决定花一到两篇的篇幅向大家简要介绍一些数据库查询语言的基本知识,这其实也是学习
ASP
所必须掌握的一门知识。是否能够灵活地运用数据库查询语言,将直接关系到
ASP 程序的执行效率等一系列问题,所以请各位务必重视。
相信很多朋友都听说过 SQL
这个名字,如果你是计算机方面的行家,SQL
的大名一定是如雷贯耳。那么 SQL 究竟是什么呢?SQL 一词实际上是
"Structured Query Language"
结构式查询语言的缩写,是用于对存放在计算机数据库中的数据进行组织、管理和检索的一种工具;是一种特定类型的数据库
-- 关系数据库。而控制这种数据库的计算机程序就是我们常说的
DBMS-- 数据库管理系统。譬如:SQL Server、Oracle、Sybase、DB2
等等。当用户想要检索数据库中的数据时,就通过 SQL
语言发出请求,接着 DBMS 对该 SQL
请求进行处理并检索所要求的数据,最后将其返回给用户,此过程被称作为数据库查询,这也就是数据库查询语言这一名称的由来。
SQL 并不是象 C、COBOL 和 Fortran 语言那样的完整的计算机语言。SQL
没有用于条件测试的 IF 语句,也没有用于程序分支的 Goto
语句以及循环语句 For 或 Do。确切的讲,SQL 是一种数据库子语言,SQL
语句可以被嵌入到另一种语言中,从而使其具有数据库存取功能。SQL
也非严格的结构式语言,它的句法更接近英语语句,因此易于理解,大多数
SQL 语句都是直述其意,读起来就象自然语言一样明了。SQL
还是一种交互式查询语言,允许用户直接查询存储数据,利用这一交互特性,用户可以在很短的时间内回答相当复杂的问题,而同样问题若让程序员编写相应的报表程序则可能要用几个星期甚至更长时间。
在大部分 ASP 应用程序中我们都会接触到数据库,而我们在编写
ASP 应用程序时用来进行数据库操作的标准语法正是 SQL,因此 SQL
语法的重要性是不言而喻的。下面,我们就从最常用的 SQL 语句 SELECT
着手,一步一步地来学习 SQL。
查询是 SQL 语言的核心,而用于表达 SQL 查询的 SELECT
语句则是功能最强也是最为复杂的 SQL
语句,它从数据库中检索数据,并将查询结果提供给用户。在本文中我们将建立一个名为
tianjiao 的简单数据库,该库中存放了一个叫 sales
的销售记录表,如下所示 :
姓名
性别
工资
销售目标
销售额
地区
书生
男
2500
8000
9000
上海
吴冠军
男
3000
10000
9999
北京
雷鸣
男
2000
8000
10000
四川
雪儿
女
2500
5000
6000
广州
顾一
男
2600
9000
9800
大连
阿卓
女
2000
4000
4000
天津
熠天
男
4000
20000
20000
全国
在该表中有六列即六个字段 :
姓名、性别、工资、销售目标、销售额、地区,首先我们用 Select
语句列出姓名、销售目标和销售额 :
Select 姓名,销售目标,销售额 From sales
结果如下 :
姓名
销售目标
销售额
书生
8000
9000
吴冠军
10000
9999
雷鸣
8000
10000
雪儿
5000
6000
顾一
9000
9800
阿卓
4000
4000
熠天
20000
20000
然后,我们再列出所有男性的姓名、销售目标和销售额 :
Select 姓名,销售目标,销售额 From sales Where 性别 =" 男
"
结果如下 :
姓名
销售目标
销售额
书生
8000
9000
吴冠军
10000
9999
雷鸣
8000
10000
顾一
9000
9800
熠天
20000
20000
接下来,我们做一个相对复杂的查询,列出销售额大于销售目标的所有男性的姓名、销售目标和销售额,并且按销售目标排序。
Select 姓名,销售目标,销售额
Form sales
Where 销售额 > 销售目标
And 性别 =" 男 "
Order By 销售目标
结果如下 :
姓名
销售目标
销售额
书生
8000
9000
雷鸣
8000
10000
顾一
9000
9800
熠天
20000
20000
大家可以看到,对于简单查询,SQL Select
语句和英文语法很相象,我们来分析一下 SELECT
语句的完整格式,它包括六个子句,其中 SELECT 和FROM
子句是必须的,其它子句可以任选,每个子句的功能如下 :
1、Select 子句列出所有要求 SELECT 语句检索的数据项。它放在
SELECT
语句开始处,指定此查询要检索的数据项。这些数据项通常用选择表表示,即一组用“,”隔开的选择项。按照从左到右的顺序,每个选择项产生的一个列的查询结果,一个选择项可能是以下项目:
(1)、列名:标识 FROM
子句指定表中的列。如果列名作为选