每个ColdFusion开发者都熟悉<cfquery>标签,它可以让你执行基于任何数据库的SQL语句。
看看这个简单的例子:
<cfquery name="getCustomers" datasource="customerDB">
select
customerID,
customerName,
customerState
from
customers
order by
customerState
</cfquery>
运行这个查询会产生一个记录集,请参考插图A。
Figure A
通过再查询,我可以针对结果集执行额外的SQL语句。下面的例子将返回getCustomers记录集中最大的customerID。注意<cfquery>标签中的dbtype属性是设定查询的,它告诉CF服务器你将执行一个再查询。
<cfquery name="getMaxCustomerID" dbtype="query">
select
max( customerID ) as maxCustomerID,
customerName
from
getCustomers
</cfquery>
需要注意的是再查询不能全面的支持ANSI标准的SQL语法规范。但是,它还是可以支持很多通用的SQL命令和集合函数。WHERE 子句中也可以使用象LIKE、 IN、和BETWEEN这样的条件;同时也支持Min()、Max()、Avg()、Count()、Sum()这样的集合函数。你也可以灵活的使用ORDER BY和GROUP BY 子句,也可以使用INNER JOINS、OUTER JOINS和UNIONS。