六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

在ADO使用SELECT語法5

[摘要]JoinJOIN連接組合兩個表中的字段記錄,包括三種:INNER JOIN運算式:連接組合兩個表中的字段記錄。 LEFT JOIN運算式:連接組合兩個表中的字段記錄,并將包含了LEFT JOIN左邊表中的全部記錄。 RIGHT JOIN運算式:連接組合兩個表中的字段記錄,并將包含了RIGHT JO...
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連接組合兩個表中相關連的字段記錄,為內部連接,您還可以使用:

    使用LEFT JOIN運算:來建立一個左邊外部連接。LEFT JOIN除了取得兩個表中相關連的字段記錄,并將包含了LEFT JOIN左邊表中的全部記錄,不管在右邊表中是否有相符的記錄。
    使用RIGHT JOIN運算:建立一個右邊外部連接。RIGHT JOIN除了取得兩個表中相關連的字段記錄,并將包含了RIGHT JOIN右邊表中的全部記錄,不管在左邊表中是否有相符的記錄。
    例如,[銷售LEFT JOIN 產品] 可以選取所有的銷售記錄。[銷售RIGHT JOIN 產品] 可以選取所有的產品記錄。

    譬如利用Left Join...On除了取得兩個表中相關連的字段記錄,并包含了LEFT JOIN左邊表中的全部記錄, ASP程式rs26.asp如下,[Select 銷售.代號, 產品.名稱, 產品.價格, 銷售.數量 from 銷售 Left Join 產品 On 產品.代號 = 銷售.代號],使用Left Join包含了LEFT JOIN左邊銷售表中的全部記錄:

<%

Set conn1 = Server.CreateObject("ADODB.Connection")

conn1.Open "DBQ="& Server.MapPath("ntopsamp.mdb") &";Driver={Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;"

'conn1.Open "driver={SQL Server};server=(Local);uid=sa;pwd=;database=NtopSamp"

Set rs3 = Server.CreateObject("ADODB.Recordset")

sql = "Select 銷售.代號, 產品.名稱, 產品.價格, 銷售.數量 from 銷售 Left 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>

<%

rs3.MoveNext

Loop

rs3.Close

%>

</TABLE>

    以上的ASP程式rs26.asp,在用戶端使用瀏覽器,瀏覽執行的結果,顯示包含了LEFT JOIN左邊銷售表中的全部記錄,由于銷售表中并沒有名稱字段和價格字段,代號4的銷售記錄,通過 [銷售 Left Join 產品 On 產品.代號 = 銷售.代號] 找到產品表的名稱字段和價格字段之資料,其他的代號并沒有找到名稱字段和價格字段之資料。

    利用 Right Join...On除了取得兩個表中相關連的字段記錄,并包含了RIGHT JOIN右邊表中的全部記錄,譬如ASP程式rs26.asp如下,[Select 銷售.代號, 產品.名稱, 產品.價格, 銷售.數量 from 銷售 Right Join 產品 On 產品.代號 = 銷售.代號],使用Right Join包含了RIGHT JOIN右邊產品表中的全部記錄:

<%

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 銷售 Right 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>

<%

rs3.MoveNext

Loop

rs3.Close

%>

</TABLE>

    以上的 ASP程式rs26.asp,在用戶端使用瀏覽器,瀏覽執行的結果,顯示包含了RIGHT JOIN右邊產品表中的全部記錄,由于產品表中并沒有數量字段,代號4的產品記錄,通過 [銷售 Right Join 產品 On 產品.代號 = 銷售.代號] 找到銷售表的數量字段之資料,其他的代號并沒有找到數量字段之資料。

搞清楚了嗎?  




主站蜘蛛池模板: 天天欲色 | 日本三区视频 | 色成人亚洲 | 日日夜夜综合 | 网友自拍区一区二区三区 | 欧美资源在线 | 天天躁日日躁狠狠躁中文字幕 | 亚洲男人在线 | 欧美天堂久久 | 亚洲成年男人的天堂网 | 在线天堂新版在线观看 | 亚洲欧美系列 | 青青草视频免费观看 | 青草香蕉精品视频在线观看 | 午夜在线亚洲男人午在线 | 亚洲成人精品在线 | 青青青在线视频免费观看 | 青草影院在线 | 婷婷色在线观看 | 亚洲第一视频 | 污免费视频 | 日韩高清免费在线观看 | 天天做天天干 | 色老头久久网 | 午夜激情视频 | 午夜免费福利在线 | 亚洲精品在看在线观看 | 欧美一级视频免费观看 | 天堂资源地址在线 | 亚洲欧美日韩国产精品一区 | 亚洲欧美伦理 | 亚洲伊人久久大香线蕉综合图片 | 视频一区二区三区在线观看 | 日本一区免费观看 | 欧美综合国产精品日韩一 | 日日视频 | 五月婷婷深爱 | 日韩欧美二区在线观看 | 四虎国产精品永久在线网址 | 亚洲va中文字幕 | 外国成人网在线观看免费视频 |