在ASP中使用SQL语句之2:用WHERE子句设置查询条件
有的时候取出全部数据库记录也许正好满足你的要求,不过,在大多数情况下我们通常只需得到部分记录。这样一来该如何设计查询呢?当然会更费点脑筋了,何况本文也存心不想让你去用那个什么劳什子的recordset。
$ q/ r' K. j$ p- Y+ e$ i: w# X. m- H; _6 H" X! N
' k% \& ^) U& A8 ?; @' A
, l. T: e# a8 K+ u举个例子,假如你只打算取出p_name 记录,而且这些记录的名字必须以字母w打头,那么你就要用到下面的WHERE 子句了:
: d9 Y& c; o7 L' DSQL ="SELECT p_name FROM Products WHERE p_name LIKE 'W%'" $ r. t, {9 N7 z5 P
# W/ R4 j! F( O0 R. |$ P
WHERE 关键词的后面跟着用来过滤数据的条件,有了这些条件的帮助,只有满足一定标准的数据才会被查询出来。在以上的例子里,查询的结果只会得到名字以w 打头的p_name 记录。
% o6 g7 A8 ?$ h$ Z- z0 x( y
. B3 \! E7 x6 I2 \7 w) j以上例子中,百分比符号(%)的含义是指示查询返回所有w 字母打头而且后面是任何数据甚至没有数据的记录条目。所以,在执行以上查询的时候, west 和 willow 就会从Products 表内被选取出来并存放在查询里。
n7 G+ ^( h: T9 l+ s) v3 F6 P4 s& |- G7 B9 _: h
就像你看到的那样,只要仔细地设计SELECT 语句,你就可以限制recordset 中返回的信息量,多琢磨琢磨总能满足你的要求。
! o3 k: s9 a" x7 e! j: e; c4 E5 W) a9 j# x3 w
这些啊还不过是掌握SQL用途刚起步。为了帮助你逐步掌握复杂的SELECT 语句用法,下面就让我们再来看一下关键的标准术语:比较运算符,这些玩意都是你在构筑自己的SELECT 字符串来获得特定数据时要经常用到的。 - r; X9 }( u+ ]0 S% F6 |
; P! ~ n4 _" ?, {, n0 _ d2 Z# Y* rWHERE子句基础: E P3 Y8 s) `- n$ F- m0 d
在开始创建WHERE 子句的时候,最简单的方式是采用标准的比较符号,它们是 、 = 、 、 = 、 和 =。显然,你很快就能明白以下代码的含义和具体运行结果:
$ g& |( w" {/ N L, `" V9 fSELECT * FROM Products WHERE p_price = 199.95
' c% B; R; _, ^SELECT * FROM Products WHERE p_price 19.95% {6 a$ q% u1 Q3 q& s) `
SELECT * FROM Products WHERE p_version = '4' * ?- \ }+ C% G0 U4 K
2 `" r1 q: I! J2 F
注意: 这里你会注意到,最后一个例句中的数字4周围加了单引号。原因是这样的,在这个例子中的 '4' 是文本类型而非数字类型。因为你会把 SELECT 语句放到引号中来把它作为一个值赋给变量,所以你也可以在语句中采用引号。
, z% Z, }, ~) S7 n$ l; K `9 ], `" J! n
比较运算符
3 l* F7 R* d U8 P比较运算符指定从表内取出数据的内容范围。你可以用它们来创建过滤器以便缩小recordset的范围,促使其只保存给定任务下你关心的信息。
点击图标进入精品网摘收藏 欢迎大家加入网络收藏夹