asp的ado中使用SELECT-sql语法(五) - ASP教程
Join
JOIN连接组合两个表中的字段记录,包括三种: INNER JOIN运算式:连接组合两个表中的字段记录。 LEFT JOIN运算式:连接组合两个表中的字段记录,并将包含了LEFT JOIN左边表中的全部记录。 RIGHT JOIN运算式:连接组合两个表中的字段记录,并将包含了RIGHT JOIN右边表中的全部记录。 INNER JOIN设定两个表相关连的运算式,以连接组合两个表中的字段记录。 INNER JOIN语法如下: FROM 表1 INNER JOIN 表2 ON 表1.字段1 比较运算子 表2.字段2 两个表连接的字段,譬如 [表1.字段1=表2.字段2],必须具有相同的字段类型,但是字段名称不需要相同。 例如,自动编号字段类型可以连接Long 的字段类型,但是单精整数字段类型不能连接双精整数的字段类型。 比较运算子可为=、<、>、<=、>=、或<>。 JOIN连接的字段,不可以包含MEMO字段类型或OLE对象类型,否则会发生错误。 在一个JOIN表达式中,可以连结多个ON子句: SELECT fields JOIN表达式中,可以为巢状式: SELECT fields 在一个INNER JOIN中,可以包括巢状式的LEFT JOIN或RIGHT JOIN,但是在一个LEFT JOIN或RIGHT JOIN中不能包括巢状式的INNER JOIN。 让我们看一个于ASP程式当中使用这个SQL指令的例子。 可以利用Inner Join...On组合两个表中的记录,譬如ASP程式rs26.asp如下,[Select 销售.代号, 产品.名称, 产品.价格, 销售.数量 from 销售 Inner Join 产品 On 产品.代号 = 销售.代号],使用Inner Join...On设定两个表相关连的运算式,组合两个表中的记录: <% Set conn1 = Server.CreateObject("ADODB.Connection") conn1.Open "DBQ="& Server.MapPath("ntopsamp.mdb") &";Driver={Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;" Set rs3 = Server.CreateObject("ADODB.Recordset") sql = "Select 销售.代号, 产品.名称, 产品.价格, 销售.数量 from 销售 Inner Join 产品 On 产品.代号 = 销售.代号" rs3.Open sql,conn1,1,1,1 %> <TABLE COLSPAN=8 CELLPADDING=5 BORDER=0> <TR> <TD ALIGN=CENTER BGCOLOR="#800000"><FONT COLOR="#FFFFFF">代号</FONT></TD> <TD ALIGN=CENTER BGCOLOR="#800000"><FONT COLOR="#FFFFFF">名称</FONT></TD> <TD ALIGN=CENTER BGCOLOR="#800000"><FONT COLOR="#FFFFFF">价格</FONT></TD> <TD ALIGN=CENTER BGCOLOR="#800000"><FONT COLOR="#FFFFFF">数量</FONT></TD> </TR> <% Do while not rs3.EOF %> <TR> <TD BGCOLOR="f7efde" ALIGN=CENTER><%= rs3(0)%></TD> <TD BGCOLOR="f7efde" ALIGN=CENTER><%= rs3(1)%></TD> <TD BGCOLOR="f7efde" ALIGN=CENTER><%= rs3(2)%></TD> <TD BGCOLOR="f7efde" ALIGN=CENTER><%= rs3(3)%></TD> </TR> <% rs3.MoveNext Loop rs3.Close %> </TABLE> 以上的 ASP程式rs26.asp,在用户端使用浏览器,浏览执行的结果,显示组合两个表中的记录,由于销售表中并没有名称字段和价格字段,通过 [Inner Join 产品 On 产品.代号 = 销售.代号] 找到产品表的名称字段和价格字段之资料。 上例使用Inner Join的语法: Select 销售.代号, 产品.名称, 产品.价格, 销售.数量 from 销售 Inner Join 产品 On 产品.代号 = 销售.代号 结果与以下使用Where相同: Select 销售.代号, 产品.名称, 产品.价格, 销售.数量 from 销售, 产品 Where 产品.代号 = 销售.代号 (编辑:滁州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |