ASP教程:第十二篇 数据库查询语言(1)

原定计划从本篇开始就要给大家介绍 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