亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

在ADO使用SELECT語法五

2019-11-18 22:28:03
字體:
來源:轉載
供稿:網友
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 產品.代號 = 銷售.代號] 找到銷售表的數量字段之資料,其他的代號并沒有找到數量字段之資料。

搞清楚了嗎?  


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产一区二区三区在线视频| 久久天天躁狠狠躁夜夜爽蜜月| 日韩美女免费视频| 成人精品一区二区三区| 久久男人av资源网站| 欧美午夜女人视频在线| 黑人巨大精品欧美一区二区三区| 亚洲淫片在线视频| 中文字幕日韩精品在线观看| 久久久久久成人| 亚洲精品永久免费| 欧美日韩精品在线视频| 国产亚洲精品久久久久动| 亚洲精品女av网站| 亚洲一区二区三区成人在线视频精品| 国产suv精品一区二区| 91免费在线视频网站| 精品伊人久久97| 精品国产欧美一区二区五十路| 欧美日韩成人在线观看| 中文字幕久久久| 欧美性猛交丰臀xxxxx网站| 在线观看日韩视频| 一区二区三区久久精品| 亚洲97在线观看| 国产深夜精品福利| 欧美在线视频一区| 精品成人久久av| 国产精品成人播放| 亚洲国产美女久久久久| 孩xxxx性bbbb欧美| 精品欧美激情精品一区| 久久久久亚洲精品国产| 国产精品久久婷婷六月丁香| 亚洲精品一区二区在线| 精品成人在线视频| 伊人伊人伊人久久| 日韩男女性生活视频| 精品亚洲一区二区三区| 精品国偷自产在线视频99| 欧美精品videofree1080p| 91黑丝在线观看| 亚洲三级黄色在线观看| 国产精品亚洲片夜色在线| 亚洲欧洲一区二区三区久久| 国产精品自在线| 国产精品老牛影院在线观看| 欧美成人午夜影院| 久操成人在线视频| 精品亚洲va在线va天堂资源站| 久久久久久久久中文字幕| 亚洲精品99久久久久| 亚洲女人天堂网| 亚洲成avwww人| 欧美精品一区在线播放| 久久成人一区二区| 日韩不卡在线观看| 欧美午夜www高清视频| 亚洲免费福利视频| 亚洲91精品在线观看| 亚洲黄色www| 色先锋资源久久综合5566| 国产成人av网址| 97成人精品视频在线观看| 亚洲qvod图片区电影| 欧美国产极速在线| 日韩av电影免费观看高清| 中文字幕亚洲综合| 中文字幕日韩综合av| 亚洲免费电影在线观看| 亚洲自拍小视频| 亚洲色图欧美制服丝袜另类第一页| 亚洲大胆人体在线| www.欧美精品一二三区| 欧洲美女免费图片一区| 日本韩国在线不卡| 91av在线网站| 亚洲精品之草原avav久久| 日韩电影视频免费| 亚洲黄色av女优在线观看| 欧美肥老太性生活视频| 亚洲人永久免费| 欧美主播福利视频| 日本伊人精品一区二区三区介绍| 欧美性受xxxx白人性爽| 国产精品免费一区二区三区都可以| 欧美久久精品午夜青青大伊人| 亚洲人午夜精品| 欧美成人剧情片在线观看| 中文字幕欧美日韩在线| 欧美日韩激情小视频| 成人免费大片黄在线播放| 久久伊人精品一区二区三区| 神马国产精品影院av| 久久99久久亚洲国产| 日韩av免费看网站| 4p变态网欧美系列| 亚洲欧美色图片| 欧美小视频在线| 日韩av中文字幕在线播放| 欧美性少妇18aaaa视频| 亚洲欧美日韩直播| 欧美区二区三区| 久久久久久网址| 久久久av一区| 久久天天躁狠狠躁老女人| 成人黄色短视频在线观看| 成人信息集中地欧美| 成人啪啪免费看| 国产精品日韩电影| 最近2019好看的中文字幕免费| 日韩高清av一区二区三区| 国产91成人在在线播放| 欧美性资源免费| 欧美在线亚洲在线| 亚洲第一精品福利| 国产精品福利在线| 欧美大片免费看| 国产精品影院在线观看| 成人黄色av播放免费| 夜夜嗨av色综合久久久综合网| 日韩在线播放av| 亚洲久久久久久久久久久| 精品久久久久久中文字幕大豆网| 日韩精品中文字幕在线播放| 亚洲成人精品在线| 福利二区91精品bt7086| 岛国精品视频在线播放| 在线观看成人黄色| 国产精品老女人视频| 亚洲春色另类小说| 亚州欧美日韩中文视频| 在线观看久久久久久| 庆余年2免费日韩剧观看大牛| 国产精品第3页| 国产成人高清激情视频在线观看| 91视频88av| 久久全球大尺度高清视频| 欧美激情一二三| 中文字幕精品久久| 成人精品久久一区二区三区| 日韩天堂在线视频| 在线观看国产精品日韩av| 亚洲黄色有码视频| 亚洲sss综合天堂久久| 日本久久久久久久| 97视频在线免费观看| 亚洲综合大片69999| 国产成人精品一区二区在线| 午夜精品国产精品大乳美女| 久久精品91久久香蕉加勒比| 97视频在线观看免费高清完整版在线观看| 欧美最猛性xxxxx亚洲精品| 51精品国产黑色丝袜高跟鞋| 国产精品一区av| 深夜成人在线观看| 亚洲精品一区在线观看香蕉| 久久精品视频亚洲| 色播久久人人爽人人爽人人片视av| 欧美性一区二区三区| 久久最新资源网| 欧美成人在线影院| 亚洲精品久久久久国产| 日韩中文字幕在线视频播放|