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

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

在ADO使用SELECT語法一

[摘要]SELECT表達式接著,讓我們看看SELECT表達式,SELECT用來在表中尋找符合特定條件的記錄,語法如下:SELECT [關鍵字] * 表名稱.* [表名稱.]字段名稱1 [AS 別名1] [, [表名稱.] 字段名稱2 [AS 別名2] [, ...]]FROM 表運算式 [, ....
SELECT表達式

接著,讓我們看看SELECT表達式,SELECT用來在表中尋找符合特定條件的記錄,語法如下:

SELECT [關鍵字] { * 表名稱.* [表名稱.]字段名稱1 [AS 別名1] [, [表名稱.] 字段名稱2 [AS 別名2] [, ...]]}
FROM 表運算式 [, ...] [IN 外部表]
[WHERE... ]
[GROUP BY... ]
[HAVING... ]
[ORDER BY... ]
[WITH OWNERACCESS OPTION]

關鍵字:可以用來限制返回之記錄的數量,可以設定為ALL、DISTINCT、DISTINCTROW 、或TOP。如果沒有指定述語,缺省值為 ALL。

*:選取全部的字段。

別名:代替在表中原有的字段名稱。

表運算式:一個或多個以逗號分隔的表名稱。

外部表:如果表不存在目前的表當中,須設定包含表運算式中表的表名稱。

執行SELECT 表達式,并不會改變表之中現有的資料。

一個 SELECT 表達式的最基本語法是:

SELECT * FROM 表運算式

您可以使用星號(*)來選取表的全部字段。譬如下例選取 [產品] 表中的全部字段:

SELECT * FROM 產品

字段名稱包含空格或標點符號時,須使用括號[ ]將它括在其中。例如:

SELECT [電腦 的產品]

如果在FROM子句中的字段名稱中,包含多個的表中時,需在字段名稱前加上表名稱和點(.)運算子,即 表名稱.字段名稱。譬如下例選取 [產品] 表的 [價格] 字段和 [訂單] 表的 [數量] 字段:

SELECT 產品.價格, 訂單.數量

FROM 產品, 訂單

WHERE 產品.代號 = 訂單.代號

當您使用Recordset 對象時,Recordset并不認得rs(表名稱.字段名稱) 格式,即rs(“產品.價格”)會發生錯誤,您必須使用AS來設定字段名稱的別名。譬如:

SELECT 產品.價格 AS 價格, 訂單.數量AS 數量

FROM 產品, 訂單

WHERE 產品.代號 = 訂單.代號

如此就可以使用rs(“價格”) 和rs(“數量”),來讀取其字段的資料。

與SELECT表達式相關的語法:


關鍵字:ALL/ DISTINCT/ DISTINCTROW/ TOP。

WHERE:尋找FROM中的表符合特定條件的資料記錄。WHERE 可以使用下面的BETWEEN、LIKE、IN運算子:

Between...And:判斷表達式的值是否落在指定的范圍之中。

Like:尋找相符合的關鍵字。

IN運算式:限定范圍。

NOT IN運算式:表示不屬于所指定的范圍。

ORDER BY子句:可以設定排序的字段。

GROUP BY子句:將查詢的結果做統計。

HAVING子句:使用在SELECT 表達式中,篩選已經GROUP BY統計的記錄。

Union:可以合并多組查詢的結果。

JOIN:連接組合兩個表中的字段記錄。

子查詢(sub query):表達式中,可以包括SELECT表達式。

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


詳細介紹如下:

ALL/DISTINCT/DISTINCTROW/TOP關鍵字

使用SELECT查詢時,可以加上關鍵字,以選取所查詢的記錄。如下:


ALL:返回所有的記錄。

DISTINCT:指定字段中的記錄有重復時只返回一條記錄,記錄不重復。

DISTINCTROW:指定字段中的記錄有重復時都不返回。

TOP:返回前面幾個記錄或幾個百分比的記錄。


語法如下:

SELECT [ALL DISTINCT DISTINCTROW [TOP n [PERCENT]]]
FROM 表

ALL返回所有的記錄。不加關鍵字時,與加ALL的意義相同,將返回所有的記錄。譬如下列兩個例子的執行結果相同,都從產品表中返回所有的記錄:

SELECT ALL * FROM 產品

與以下的執行結果相同:

SELECT * FROM 產品

DISTINCT不選取指定字段之中的重復資料。使用DISTINCT后,查詢的結果,列在SELECT DISTINCT后的每個字段的資料值,若相同則只取一條記錄,換句話說,指定字段的資料不會有重復的現象。例如,在產品表之中有一些產品名稱相同的產品,加上DISTINCT的SQL表達式只會返回一條記錄字段為產品名稱資料相同的記錄:

SELECT DISTINCT 產品名稱 FROM 產品

如果您不加上DISTINCT,上例查詢將返回數個包含相同產品名稱的記錄。

如果SELECT DISTINCT子句后指定數個字段,查詢的結果,所有字段的組合值不會有重復的現象。

DISTINCTROW則不返回指定字段所有重復的記錄。

TOP n [PERCENT] ,返回前面幾條記錄或幾個百分比的記錄。排列的順序可以使用ORDER BY子句來指定。譬如找到成績前10名的學生姓名:

SELECT TOP 10 姓名
FROM 學生
ORDER BY 成績

如果您沒有包含ORDER BY子句,查詢將由學生表返回任意的10個記錄。

TOP不在相同值間作選擇,如果第10及第11的成績是相同的,查詢將返回11個記錄。

您可使用PERCENT來設定前面幾個百分比的記錄,譬如譬如找到成績前10%的學生姓名:

SELECT TOP 10 PERCENT 姓名
FROM 學生
ORDER BY 成績

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

可以利用Distinct找出不重復的記錄,譬如ASP程式rs7.asp如下,[Insert Into 產品(代號,名稱) Select Distinct 代號,名稱 From 產品 where 代號 ='C2000'] 使用Distinct與Insert Into新增代號為C2000的記錄:

<%

'Distinct 代號,名稱只判斷代號,名稱是否相同, 相同者只加一條記錄

sql = "Insert Into 產品(代號,名稱) Select Distinct 代號,名稱 From 產品 where 代號 ='C2000'"

Set a = conn1.Execute(sql)

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

sql = "Select * from 產品 where 代號 ='C2000'"

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>

WHERE

WHERE尋找FROM中的表符合特定條件的資料記錄,WHERE 使用在SELECT、UPDATE、或DELETE表達式。

如果SELECT查詢中沒有指定WHERE子句,將返回表中所有的資料。如果在SELECT查詢多個表,且沒有使用WHERE子句、或JOIN 子句的話,查詢結果為多個表資料的乘積。

WHERE設定特定的條件,譬如:


FROM 產品 WHERE 分類 = '電腦':表示選擇 [分類] 為 [電腦] 的 [產品]

WHERE 價格 Between 1000 And 5000:表示價格介于1000至5000之間 。

一個WHERE子句,最多可包含40個運算式,運算式之間由AND或OR等邏輯運算子相連結。

設定特定的條件時,依照字段類型,前后加不同的符號,譬如:


文字:前后加單引號,譬如WHERE 分類 = '電腦'。

數字:前后不加符號,譬如WHERE 數量 > 100。

日期:前后加#號,譬如WHERE 日期 = #5/15/99#。

WHERE可以使用下面的BETWEEN、LIKE、IN運算子。  




主站蜘蛛池模板: 青青青手机视频在线观看 | 自拍视频啪 | 亚洲综合a | 日本三区四区免费高清不卡 | 亚欧aⅴ天堂在线 | 手机看片久久国产免费不卡 | 亚洲免费一 | 亚洲18av | 亚洲97i蜜桃网 | 日韩一区二三区国产好的精华液 | 日韩伦理 | 日韩中文字幕精品免费一区 | 涩涩涩涩涩涩涩 | 色天使色婷婷丁香久久综合 | 亚洲成a v人片在线看片 | 欧洲一级片 | 五月婷综合网 | 日韩黄在线观看免费视频 | 日在线视频 | 日本免费完整版观看 | 午夜在线影院 | 亚洲欧美一区二区三区不卡 | 中文字幕视频不卡 | 狍和女人一级毛片 | 日韩精品一区二区三区中文版 | 婷婷色综合成人成人网小说 | 五月开心六月伊人色婷婷 | 一区二区三区在线视频播放 | 午夜88| 天堂中文在线www | 日韩免费一级 | 青娱乐手机在线 | 欧美亚洲第一区 | 啪啪免费视频网站 | 天天拍久久 | 亚洲高清在线观看 | 五月天婷婷色综合 | 婷婷三级 | 日韩欧美理论片 | 亚洲视频在线免费观看 | 日本大片a |