在ADO使用SELECT语法五

傻笑掩饰痛l

傻笑掩饰痛l

2016-01-29 19:03

在ADO使用SELECT语法五,在ADO使用SELECT语法五
  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
FROM 表1 INNER JOIN 表2
ON 表1.字段1 比较运算子 表2.字段1 AND
ON 表1.字段2 比较运算子 表2.字段2) OR
ON 表1.字段3 比较运算子 表2.字段3)

JOIN表达式中,可以为巢状式:

SELECT fields
FROM 表1 INNER JOIN
(表2 INNER JOIN [( ]表3
[INNER JOIN [( ] 表x [INNER JOIN ...)]
ON 表3.字段3 比较运算子 表x.字段x)]
ON 表2.字段2 比较运算子 表3.字段3)
ON 表1.字段1 比较运算子 表2.字段2

    在一个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 产品.代号 = 销售.代号

LEFT JOIN/RIGHT JOIN

INNER JOIN连接组合两个表中相关连的字段记录,为内部连接,您还可以使用:

   &nb
展开更多 50%)
分享

猜你喜欢

在ADO使用SELECT语法五

ASP
在ADO使用SELECT语法五

在ADO使用SELECT语法六

ASP
在ADO使用SELECT语法六

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

在ADO使用SELECT语法二

ASP
在ADO使用SELECT语法二

在ADO使用SELECT语法三

ASP
在ADO使用SELECT语法三

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

在ADO使用SELECT语法一

ASP
在ADO使用SELECT语法一

在ADO使用SELECT语法四

ASP
在ADO使用SELECT语法四

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Windows操作系统中环境变量新玩法

Windows操作系统中环境变量新玩法

Linux内核模块和驱动的编写

Linux内核模块和驱动的编写
下拉加载更多内容 ↓