在ASP中使用SQL语句之4:联合语句
我们到目前为止所谈到的SQL语句相对较为简单,如果再能通过标准的recordset循环查询,那么这些语句也能满足一些更复杂的要求。不过,何必非要拘泥在浅尝则止的基础水准之上呢?你完全可以再增加其他一些符号,比如AND、 OR和NOT来完成更强大的功能。
6 U+ r2 }# ]5 s3 F5 _( ^) H" G- j5 B5 E) ~* u" ?
; l( v0 {3 u% s% d6 l4 h" I: A( u2 m1 z8 o. {1 [* M, e
以下面的SQL语句为例:
/ p: t5 Q- c4 S9 jSQL ="SELECT c_firstname, c_lastname, c_email FROM customers WHERE c_email IS
7 z* r* X4 U( pNOT NULL AND c_purchase = '1' OR c_purchase = '2' AND c_lastname LIKE
% ^: I* N0 l. G: M" w. J, J'A%'"
) L4 U3 v5 [$ m
. m0 P+ S1 h2 w5 X* y就你目前所掌握的SQL知识,以上的例子也不难解释,不过上面的语句并没有很明白地让你看清条件字句是如何胶合在单一SQL语句中的。
! c; F5 C/ z( @ r7 m% y# J, H
多行语句/ w5 j3 v+ b2 d$ y+ M$ k
在SQL语句不好懂的情况下,你不妨把整个语句分解为多行代码,然后在现有变量基础上逐步增加查询语句的各个组成部分并把它存在同一变量内:
+ G3 W& x; k3 k2 U3 TSQL = "SELECT c_firstname, c_lastname, c_emailaddress, c_phone"! d2 Y& V5 |" P! C) Z+ f! u7 v* ?4 e
SQL = SQL " FROM customers". f5 G0 y- z" Y+ r& }
SQL = SQL " WHERE c_firstname LIKE 'A%' and c_emailaddress NOT NULL". `6 }4 O+ a3 H4 F' v8 E. V5 w
SQL = SQL " ORDER BY c_lastname, c_firstname"
9 o- ]/ E/ \' Z# j8 j到了最后一句,SQL变量就包含了以下的完整SELECT 语句:
# L8 \; [! \: f, p+ `' K4 j# o"SELECT c_firstname, c_lastname, c_emailaddress, c_phone FROM customers
* Q. }7 R; D* k6 [+ I2 J6 _9 I% CWHERE c_firstname LIKE 'A%' and c_emailaddress NO NULL ORDER BY c_lastname,
' Y2 c, ?1 W$ g! ~ P, E4 Wc_firstname"
. ?5 ?0 c5 i) P* l/ K2 ^' W5 o }6 X8 z$ `8 ~" s* P5 P
整句照上面分解之后显然好读多了!在进行调试的时候,你或许更乐于多敲几个字符把程序改得更好读些。不过你可要记住了,在封闭引号之前或者在打开引号之后你需要增加空格,这样才能保证字符串连接起来的时候你没有把几个词凑到了一块。
点击图标进入精品网摘收藏 欢迎大家加入网络收藏夹