劉洋
摘 要:在學(xué)校工作中,利用 Visual foxpro執(zhí)行 SQL語言中的select語句,提高學(xué)校管理工作的效率和質(zhì)量,SQL語言中的查詢語句具有非常豐富的成分和強大的查詢功能,本文介紹了在Visual foxpro執(zhí)行SQL語言中的查詢語句的基本格式,并舉例說明了查詢語句在對學(xué)生信息、學(xué)生成績的查詢等方面所起的作用。
關(guān)鍵詞:Visual foxpro;SQL語言;學(xué)校管理
一、前言
Visual FoxPro(以下簡稱VFP)是 Microsoft公司推出的一款專業(yè)的數(shù)據(jù)庫開發(fā)軟件。相信大會不會陌生,它具有操作簡單、方便快捷、工具豐富、界面友好等特點,給廣大的數(shù)據(jù)庫使用者和開發(fā)者帶來了極大的方便。學(xué)校管理工作是學(xué)校教務(wù)工作的重要環(huán)節(jié),結(jié)合學(xué)校管理工作的實際,下面我來談?wù)勅绾卧?VFP中執(zhí)行 SQL語言中的查詢語句在學(xué)校管理工作中的實際應(yīng)用。現(xiàn)在大多數(shù)教師和學(xué)校工作人員都會選擇 Excel來實現(xiàn)查詢、統(tǒng)計分析等。雖說 Excel很容易上手,但是如果學(xué)校的班級多、學(xué)生又多,查詢、統(tǒng)計分析的要求又多元化,使用 Excel就會顯得繁瑣,無形中增加了教師和工作人員的負擔(dān),而且使用 Excel統(tǒng)計時,幾乎全是手動操作,如果出現(xiàn)誤操作就會導(dǎo)致查詢、統(tǒng)計分析結(jié)果面目全非。利用 SQL語言進行查詢、統(tǒng)計分析,可以靈活地寫出統(tǒng)計語句,一條語句有時就能完成各種統(tǒng)計要求,而在Excel里是沒有辦法實現(xiàn)的,SQL語言的查詢語句是完全能夠勝任的,熟練的掌握和有效的在 VFP中的運用 SQL語言查詢語句可以提高工作效率和工作質(zhì)量。
二、SQL語言的功能介紹
SQL語言主要包括有:數(shù)據(jù)查詢語言(SELECT語句);數(shù)據(jù)操縱語言(INSERT, UPDATE, DELETE語句);數(shù)據(jù)定義語言(如 CREATE, DROP等語句);數(shù)據(jù)控制語言(如 COMMIT, ROLLBACK等語句)。簡單來說就是增、刪、查、改。
結(jié)合我們在學(xué)校工作中的實際情況,今天我們重點談一談數(shù)據(jù)查詢語言(SELECT語句)。
SELECT語句的基本格式:
SELECT [ALL|DISTINCT|DISTINCTROW|TOP]
{*|talbe.*|[table.]field1[AS alias1][,[table.]field2[AS alias2][,…]]}
[*]
[FROM]
[WHERE]
[GROUP BY]
[HAVING]
[ORDER BY]
[WITH OWNERACCESS OPTION]
說明:
用中括號([])括起來的部分表示是可選的,用大括號({})括起來的部分是表示必須從中選擇其中的一個。
SELECT是用來指明查詢的字段,*代表所有字段,F(xiàn)ROM是用來指明查詢所涉及到的表,WHERE子句指定查詢條件,GROUP BY和 HAVING子句用來對數(shù)據(jù)進行匯總。GROUP BY子句指明了按照哪幾個字段來分組,而將記錄分組后,用 HAVING子句過濾這些記錄。用 ORDER BY子句排序結(jié)果按一個或多個(昀多 16個)字段排序查詢結(jié)果,可以是升序(ASC)也可以是降序(DESC),缺省是升序。ORDER子句通常放在 SQL語句的昀后。
經(jīng)過上面的介紹我們已經(jīng)初步的了解了 SELECT語句的基本格式,下面我們通過實例來詳細的了解 SELECT查詢語句的用法。在對高考錄取數(shù)據(jù)統(tǒng)計時,往往要結(jié)合一些函數(shù)來配合 SELECT查詢語句,在這個實例中用到的函數(shù)有:
函數(shù)名稱 功能說明
COUN(column) 返回錄取數(shù)據(jù)中院校的行數(shù)
MAX(column) 求出錄取院校各專業(yè)提檔成績的昀高分
MIN(column) 求出錄取院校各專業(yè)提檔成績的昀低分
AVG(column) 求出錄取院校各專業(yè)提檔成績的平均分
統(tǒng)計前要詳細了解要參與查詢、統(tǒng)計的 DBF表結(jié)構(gòu)及字段,如下圖(圖1)就是錄取數(shù)據(jù) DBF表,字段分別是:院校代號、院校名稱、專業(yè)代號、專業(yè)名稱、科類名稱、錄取批次、提檔成績、特征成績、考試成績,表中共有:129247條錄取記錄,看一看如何利用一條 SELECT語句查詢、統(tǒng)計出每個科類、每個錄取批次,每所院校,每所院校內(nèi)的各專業(yè)的錄取人數(shù)及錄取昀高分、昀低分、平均分,昀后按院校代號分組排序顯示。
按照以上條件,具體查詢語句為:
SELECT 院校代號,院校名稱,專業(yè)代號,專業(yè)名稱,科類名稱,錄取批次,COUN(院校代號) AS 錄取人數(shù),MAX(提檔成績) AS 昀高分,MIN(提檔成績) as 昀低分,AVG(提檔成績)AS 平均分 FROM 錄取數(shù)據(jù).dbf GROUP BY 院校代號,院校名稱,專業(yè)代號,專業(yè)名稱,科類名稱,錄取批次 ORDER BY 院校代號,院校名稱,專業(yè)代號,專業(yè)名稱,科類名稱,錄取批次
按照上述查詢語句運行結(jié)果如下圖(圖2),完全符合給出的查詢條件。
三、統(tǒng)計結(jié)果處理
在通過 SELECT查詢語句統(tǒng)計后,統(tǒng)計結(jié)果直接顯示屏幕上。如果需要保存統(tǒng)計結(jié)果可以使用 INTO TABLE 表名.dbf,把查詢統(tǒng)計的存放到電腦上備用。
四、結(jié)語
SELECT語句具有非常大的數(shù)據(jù)查詢、統(tǒng)計功能,不僅可以單表查詢,還可以多表查詢、對比等。按照以上對錄取數(shù)據(jù)的查詢、統(tǒng)計分析靈活地運用 SELECT語句可以把想著都頭疼的繁重簡單化,幾十秒就可以完成了。由此可見在 Visual Foxpro執(zhí)行 SQL語言中的查詢語句是多么的方便,為我們提高工作效率和工作質(zhì)量。