freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

sql語句學(xué)習(xí)-文庫吧

2025-07-20 09:47 本頁面


【正文】 60。Like M[^c]% 返回以M開始且第二個字符不是c的任意字符串。到現(xiàn)在為止,你只學(xué)習(xí)了如何根據(jù)特定的條件從表中取出一條或多條記錄。但是,假如你想對一個表中的記錄進行數(shù)據(jù)統(tǒng)計。例如,如果你想統(tǒng)計存儲在表中的一次民意測驗的投票結(jié)果?;蛘吣阆胫酪粋€訪問者在你的站點上平均花費了多少時間。要對表中的任何類型的數(shù)據(jù)進行統(tǒng)計,都需要使用集合函數(shù)。Microsoft SQL 支持五種類型的集合函數(shù)。你可以統(tǒng)計記錄數(shù)目,平均值,最小值,最大值,或者求和。當你使用一個集合函數(shù)時,它只返回一個數(shù),該數(shù)值代表這幾個統(tǒng)計值之一。注意:要在你的ASP網(wǎng)頁中使用集合函數(shù)的返回值,你需要給該值起一個名字。要作到這一點,你可以在SELECT語句中,在集合函數(shù)后面緊跟一個字段名,如下例所示:SELECT AVG(vote) ‘the_average’ FROM opinion在這個例子中,vote的平均值被命名為 the_average。現(xiàn)在你可以在你的ASP網(wǎng)頁的數(shù)據(jù)庫方法中使用這個名字。函數(shù)COUNT()也許是最有用的集合函數(shù)。你可以用這個函數(shù)來統(tǒng)計一個表中有多少條記錄。這里有一個例子:SELECT COUNT(au_lname) FROM authors這個例子計算表authors中名字(last name)的數(shù)目。如果相同的名字出現(xiàn)了不止一次,該名字將會被計算多次。如果你想知道名字為某個特定值的作者有多少個,你可以使用WHERE子句,如下例所示:SELECT COUNT(au_lname) FROM authors WHERE au_lname=’Ringer’這個例子返回名字為’Ringer’的作者的數(shù)目。如果這個名字在表authors中出現(xiàn)了兩次,則次函數(shù)的返回值是2。假如你想知道有不同名字的作者的數(shù)目。你可以通過使用關(guān)鍵字DISTINCT來得到該數(shù)目。如下例所示:SELECT COUNT(DISTINCT au_lname) FROM authors如果名字’Ringer’出現(xiàn)了不止一次,它將只被計算一次。關(guān)鍵字DISTINCT 決定了只有互不相同的值才被計算。通常,當你使用COUNT()時,字段中的空值將被忽略。一般來說,這正是你所希望的。但是,如果你僅僅想知道表中記錄的數(shù)目,那么你需要計算表中所有的記錄─不管它是否包含空值。下面是一個如何做到這一點的例子:SELECT COUNT(*) FROM authors注意函數(shù)COUNT()沒有指定任何字段。這個語句計算表中所有記錄所數(shù)目,包括有空值的記錄。因此,你不需要指定要被計算的特定字段。函數(shù)COUNT()在很多不同情況下是有用的。例如,假設(shè)有一個表保存了對你站點的質(zhì)量進行民意調(diào)查的結(jié)果。這個表有一個名為vote的字段,該字段的值要么是0,要么是1。0表示反對票,1表示贊成票。要確定贊成票的數(shù)量,你可以所有下面的SELECT 語句:SELECT COUNT(vote) FROM opinion_table WHERE vote=1使用函數(shù)COUNT(),你可以統(tǒng)計一個字段中有多少個值。但有時你需要計算這些值的平均值。使用函數(shù)AVG(),你可以返回一個字段中所有值的平均值。假如你對你的站點進行一次較為復(fù)雜的民意調(diào)查。訪問者可以在1到10之間投票,表示他們喜歡你站點的程度。你把投票結(jié)果保存在名為vote的INT型字段中。要計算你的用戶投票的平均值,你需要使用函數(shù)AVG():SELECT AVG(vote) FROM opinion這個SELECT語句的返回值代表用戶對你站點的平均喜歡程度。函數(shù)AVG()只能對數(shù)值型字段使用。這個函數(shù)在計算平均值時也忽略空值。假設(shè)你的站點被用來出售卡片,已經(jīng)運行了兩個月,是該計算賺了多少錢的時候了。假設(shè)有一個名為orders的表用來記錄所有訪問者的定購信息。要計算所有定購量的總和,你可以使用函數(shù)SUM():SELECT SUM(purchase_amount) FROM orders函數(shù)SUM()的返回值代表字段purchase_amount中所有值的平均值。字段purchase_amount的數(shù)據(jù)類型也許是MONEY型,但你也可以對其它數(shù)值型字段使用函數(shù)SUM()。再一次假設(shè)你有一個表用來保存對你的站點進行民意調(diào)查的結(jié)果。訪問者可以選擇從1到10 的值來表示他們對你站點的評價。如果你想知道訪問者對你站點的最高評價,你可以使用如下的語句:SELECT MAX(vote) FROM opinion你也許希望有人對你的站點給予了很高的評價。通過函數(shù)MAX(),你可以知道一個數(shù)值型字段的所有值中的最大值。如果有人對你的站點投了數(shù)字10,函數(shù)MAX()將返回該值。另一方面,假如你想知道訪問者對你站點的的最低評價,你可以使用函數(shù)MIN(),如下例所示:SELECT MIN(vote) FROM opinion函數(shù)MIN()返回一個字段的所有值中的最小值。如果字段是空的,函數(shù)MIN()返回空值。、函數(shù)、過程這一節(jié)將介紹一些其它的SQL技術(shù)。你將學(xué)習(xí)如何從表中取出數(shù)據(jù),其某個字段的值處在一定的范圍,你還將學(xué)習(xí)如何把字段值從一種類型轉(zhuǎn)換成另一種類型,如何操作字符串和日期時間數(shù)據(jù)。最后,你將學(xué)會一個發(fā)送郵件的簡單方法。通過匹配一定范圍的值來取出數(shù)據(jù)假設(shè)你有一個表用來保存對你的站點進行民意調(diào)查的結(jié)果?,F(xiàn)在你想向所有對你的站點的評價在7到10之間的訪問者發(fā)送書面的感謝信。要得到這些人的名字,你可以使用如下的SELECT 語句:SELECT username FROM opinion WHERE vote6 and vote11這個SELECT 語句會實現(xiàn)你的要求。你使用下面的SELECT 語句也可以得到同樣的結(jié)果:SELECT username FROM opinion WHERE vote BETWEEN 7 AND 10這個SELECT 語句與上一個語句是等價的。使用哪一種語句是編程風(fēng)格的問題,但你會發(fā)現(xiàn)使用表達式BETWEEN 的語句更易讀?,F(xiàn)在假設(shè)你只想取出對你的站點投了1或者10的訪問者的名字。要從表opinion中取出這些名字,你可以使用如下的SELECT 語句:SELECT username FROM opinion WHERE vote=1 or vote 這個SELECT語句會返回正確的結(jié)果,沒有理由不使用它。但是,存在一種等價的方式。使用如下的SELECT可以得到相同的結(jié)果:SELECT username FROM opinion WHERE vote IN (1,10)注意表達式IN 的使用。這個SELECT 語句只取出vote的值等于括號中的值之一的記錄。你也可以使用IN來匹配字符數(shù)據(jù)。例如,假設(shè)你只想取出Bill Gates或President Clinton的投票值。你可以使用如下的SELECT 語句:SELECT vote FROM opinion WHERE username IN (‘Bill Gates’,’President Clinton’)最后,你可以在使用BETWEEN或IN的同時使用表達式NOT。例如,要取出那些投票值不在7到10之間的人的名字,你可以使用如下的SELECT 語句:SELECT username FROM opinion WHERE vote NOT BETWEEN 7 and 10要選取那些某個字段的值不在一列值之中的記錄,你可以同時使用NOT 和IN,如下例所示:SELECT vote FROM opinion WHERE username NOT IN (‘Bill Gates’,’President Clinton’)你不是必須在SQL語句中使用BETWEEN或IN,但是,要使你的查詢更接近自然語言,這兩個表達式是有幫助的。SQL Sever足夠強大,可以在需要的時候把大部分數(shù)值從一種類型轉(zhuǎn)換為另一種類型。例如,要比較SMALLINT型和INT型數(shù)據(jù)的大小,你不需要進行顯式的類型轉(zhuǎn)換。SQL Sever會為你完成這項工作。但是,當你想在字符型數(shù)據(jù)和其它類型的數(shù)據(jù)之間進行轉(zhuǎn)換時,你的確需要自己進行轉(zhuǎn)換操作。例如,假設(shè)你想從一個MONEY型字段中取出所有的值,并在結(jié)果后面加上字符串“US Dollars”。你需要使用函數(shù)CONVERT(),如下例所示:SELECT CONVERT(CHAR(8),price)+’US Dollars’ FROM orders函數(shù)CONVERT()帶有兩個變量。第一個變量指定了數(shù)據(jù)類型和長度。第二個變量指定了要進行轉(zhuǎn)換的字段。在這個例子中,字段price被轉(zhuǎn)換成長度為8個字符的CHAR型字段。字段price要被轉(zhuǎn)換成字符型,才可以在它后面連接上字符串’US Dollars’。當向BIT型,DATETIME型,INT型,或者NUMERIC型字段添加字符串時,你需要進行同樣的轉(zhuǎn)換操作。例如,下面的語句在一個SELECT語句的查詢結(jié)果中加入字符串’The vote is’,該SELECT語句返回一個BIT型字段的值:SELECT ‘The vote is’+CONVERT(CHAR(1),vote) FROM opinion下面是這個語句的結(jié)果示例:The vote is 1The vote is 1The vote is 0(3 row(s) affected)如果你不進行顯式的轉(zhuǎn)換,你會收到如下的錯誤信息:Implicit conversion from datatype ‘varchar’ to ‘bit’ is not allowec.Use the CONVERT function to run this query.SQL Sever有許多函數(shù)和表達式,使你能對字符串進行有趣的操作,包括各種各樣的模式匹
點擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1