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

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

在ADO使用SELECT語法6

[摘要]子查詢 在一個SELECT、SELECT...INTO、INSERT...INTO、DELETE、或UPDATE 表達式中,可以包括SELECT表達式,這個SELECT表達式叫做子查詢(sub query)。您可以使用三種語法建立子查詢:表達式 [ANY ALL SOME] (子查詢...
子查詢

    在一個SELECT、SELECT...INTO、INSERT...INTO、DELETE、或UPDATE 表達式中,可以包括SELECT表達式,這個SELECT表達式叫做子查詢(sub query)。

您可以使用三種語法建立子查詢:



表達式 [ANY ALL SOME] (子查詢)


表達式 [NOT] IN (子查詢)


[NOT] EXISTS (子查詢)


    子查詢的一個SELECT表達式,與一般SELECT表達式的語法相同,必須包括在括號之中。

    您可以使用子查詢來替代SELECT表達式的運算式,或在WHERE或 HAVING子句中的運算式。

    關鍵字ANY和SOME的意義相同,用來選擇符合子查詢的任何記錄的比較條件。譬如下例將返回產品中單價大于訂單中任何數量大于100的記錄:

SELECT * FROM 產品

WHERE 單價 > ANY

(SELECT 單價 FROM 訂單

WHERE 數量 > 100)

關鍵字ALL,用來選擇符合子查詢的所有記錄的比較條件。

譬如在上例中將ANY改為ALL,將返回產品中單價大于訂單中所有數量大于100的記錄。

    關鍵字IN 述語來擷取在主查詢中且只有在子查詢之中包含相同值的某些記錄。下列范例會返回以百分之 25 或更高的折扣賣出的所有產品:

關鍵字IN,用來選擇在子查詢之中的記錄。譬如下例將返回訂單中數量 > 100的記錄:

SELECT * FROM 產品

WHERE 產品代號 IN

(SELECT 產品代號 FROM 訂單

WHERE 數量 > 100)

相反地,關鍵字NOT IN,用來選擇不在子查詢之中的記錄。

在true/false比較中,可以使用EXISTS關鍵字,來決定子查詢是否會返回任何的記錄。

    關鍵字ALL的ASP例子,譬如ASP程式rs24.asp如下,[SELECT 姓名,科目,分數 From 考試 Where 科目 = '算術' and 分數 >= All (SELECT 分數 From 考試 Where 科目='算術' and 姓名='張三')] 找出分數大于或等于張三的算術考試的算術記錄:

<%

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

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

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

SqlStr = "SELECT 姓名,科目,分數 From 考試 Where 科目 = '算術' and 分數 >= All (SELECT 分數 From 考試 Where 科目='算術' and 姓名='張三')"

rs2.Open SqlStr,conn1,1,1

Response.Write "<p>All高于張三算術所有分數"

Do while not rs2.EOF

Response.Write "<BR>" & rs2("姓名") & " " & rs2("科目") & " 分數: " & rs2("分數")

rs2.MoveNext

Loop

rs2.Close

%>

    以上的 ASP程式rs24.asp,在用戶端使用瀏覽器,瀏覽執行的結果,顯示分數大于或等于張三的算術考試的算術記錄。

Any

    關鍵字ANY用來選擇符合子查詢的任何記錄的比較條件,譬如ASP程式rs24.asp如下,[SELECT 姓名,科目,分數 From 考試 Where 科目 = '算術' and 分數 >= Any (SELECT 分數 From 考試 Where 科目='算術' and 姓名='張三')] 找出分數大于或等于張三任何算術分數的記錄:

<%

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

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

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

SqlStr = "SELECT 姓名,科目,分數 From 考試 Where 科目 = '算術' and 分數 >= Any (SELECT 分數 From 考試 Where 科目='算術' and 姓名='張三')"

rs2.Open SqlStr,conn1,1,1

Response.Write "<p>Any高于張三算術任何分數"

Do while not rs2.EOF

Response.Write "<BR>" & rs2("姓名") & " " & rs2("科目") & " 分數: " & rs2("分數")

rs2.MoveNext

Loop

rs2.Close %>

    以上的 ASP程式rs24.asp,在用戶端使用瀏覽器,瀏覽執行的結果,顯示分數大于或等于張三任何算術分數的記錄。

Some

    關鍵字SOME和ANY的意義相同,用來選擇符合子查詢的任何記錄的比較條件,譬如ASP程式rs24.asp如下,[SELECT 姓名,科目,分數 From 考試 Where 科目 = '算術' and 分數 >= Some (SELECT 分數 From 考試 Where 科目='算術' and 姓名='張三')] 找出分數大于或等于張三任何算術分數的記錄:

<%

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

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

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

SqlStr = "SELECT 姓名,科目,分數 From 考試 Where 科目 = '算術' and 分數 >= Some (SELECT 分數 From 考試 Where 科目='算術' and 姓名='張三')"

rs2.Open SqlStr,conn1,1,1

Response.Write "<p>Some高于張三算術任何分數"

Do while not rs2.EOF

Response.Write "<BR>" & rs2("姓名") & " " & rs2("科目") & " 分數: " & rs2("分數")

rs2.MoveNext

Loop

rs2.Close

%>

    以上的 ASP程式rs24.asp,在用戶端使用瀏覽器,瀏覽執行的結果,顯示分數大于或等于張三任何算術分數的記錄。

Select...Into

Select...Into將查詢的結果,建立一個產生的表。

語法如下:

SELECT 字段1[,字段2[, ...]] INTO 新表 [IN 外部表]
FROM 表

新表的名稱不可與現存表的名稱相同,否則將會發生錯誤。

Select...Into所建立的新表,其字段的資料類型及大小與所查詢的表相同。

讓我們看一個于ASP程式當中使用這個SQL指令的例子。

    譬如ASP程式rs9.asp如下,[Select * Into 電腦 From 產品 Where 種類 = '電腦'] 將 [產品] 表中所有 [種類] 為 [電腦] 的紀錄產生一個新的 [電腦] 表:

<%

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

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

sql = "Select * Into 電腦 From 產品 Where 種類 = '電腦'"

Set a = conn1.Execute(sql)

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

sql = "Select * from 電腦"

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("代號")%></TD>

<TD BGCOLOR="f7efde" ALIGN=CENTER><%= rs3("名稱")%></TD>

<TD BGCOLOR="f7efde" ALIGN=CENTER><%= rs3("價格")%></TD>

<TD BGCOLOR="f7efde" ALIGN=CENTER><%= rs3("數量")%></TD>

</TR>

<%

rs3.MoveNext

Loop

rs3.Close

%>

</TABLE>

    以上的 ASP程式rs9.asp,在用戶端使用瀏覽器,瀏覽執行的結果,顯示新 [電腦] 表的記錄。



主站蜘蛛池模板: 三级在线免费观看 | 欧美在线小视频 | 日韩在线视频免费播放 | 小泽玛利亚久久一区二区三区 | 色五月在线视频 | 中文字幕不卡在线 | 欧洲一级做a爱在线观看 | 天天干天天曰天天操 | 乌鸦传媒在线视频国产 | 亚洲人成在线播放网站岛国 | 在线观看视频污 | 人人舔人人爱 | 夜夜爽天天狠狠九月婷婷 | 台湾美性中文娱乐网 | 亚洲欧美中文日韩v在线观看 | 亚洲综合在线最大成人 | 日韩中文字 | 三级黄色片在线播放 | 日韩欧美综合在线二区三区 | 一二三中文乱码亚洲乱码 | 日本在线网站 | 日韩高清在线免费观看 | 日本欧美一区二区三区视频 | 日本视频免费在线观看 | 天天综合天天添夜夜添狠狠添 | 网站在线看 | 亚洲欧美日本韩国综合在线观看 | 日本视频在线免费观看 | 日韩a级| 日本韩国三级观看 | 日本高清色本在线www游戏 | 欧美午夜影院 | 亚洲无限乱码一二三四区 | 亚洲无套 | 午夜国产视频 | 天堂影院在线观看mv | 在线观看亚洲天堂 | 一二三四免费观看高清动漫视频 | 午夜精品福利在线观看 | 日日操日日干 | 四虎免费在线视频 |