資源描述:
《《SQL語言的應(yīng)用》PPT課件》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第六章SQL語言的應(yīng)用1VisualFoxPro6.1SQL語言概述6.2數(shù)據(jù)查詢6.3數(shù)據(jù)定義6.4數(shù)據(jù)操縱2VisualFoxPro20世紀(jì)80年代初,美國國家標(biāo)準(zhǔn)協(xié)會(huì)(ANSI)開始著手制定SQL標(biāo)準(zhǔn)。SQL標(biāo)準(zhǔn)的出臺(tái)使SQL作為標(biāo)準(zhǔn)關(guān)系數(shù)據(jù)庫語言的地位得到了加強(qiáng)。目前流行的關(guān)系數(shù)據(jù)庫管理系統(tǒng),如Qracle、Sybase、SQLServer、VisualFoxPro等都采用了SQL語言標(biāo)準(zhǔn),而且很多數(shù)據(jù)庫都對(duì)SQL語句進(jìn)行了再開發(fā)和擴(kuò)展。6.1SQL語言概述3VisualFoxProSQL語言的特點(diǎn):(1)
2、SQL是一種一體化的語言。盡管設(shè)計(jì)SQL的最初目的是查詢,數(shù)據(jù)查詢也是其最重要的功能之一,但SQL決不僅僅是一個(gè)查詢工具,它集數(shù)據(jù)定義、數(shù)據(jù)查詢、數(shù)據(jù)操縱和數(shù)據(jù)控制功能于一體,可以獨(dú)立完成數(shù)據(jù)庫的全部操作。(2)SQL語言是一種高度非過程化的語言。它沒有必要一步步地告訴計(jì)算機(jī)“如何”去做,而只需要描述清楚用戶要“做什么”,SQL語言就可以將要求交給系統(tǒng),自動(dòng)完成全部工作。(3)SQL語言非常簡潔。雖然SQL語言功能很強(qiáng),但它只有為數(shù)不多的9條命令:CREATE、DROP、ALTER、SELECT、INSERT、UP
3、DATE、DELETE、GRANT、REVOKE。另外SQL的語法也非常簡單,它很接近英語自然語言,因此容易學(xué)習(xí)和掌握。4VisualFoxPro(4)SQL語言可以直接以命令方式交互使用,也可以嵌入到程序設(shè)計(jì)語言中以程序方式使用。現(xiàn)在很多數(shù)據(jù)庫應(yīng)用開發(fā)工具都將SQL語言直接融入到自身的語言之中,使用起來更方便,VisualFoxPro就是如此。這些使用方式為用戶提供了靈活的選擇余地。此外,盡管SQL的使用方式不同,但SQL語言的語法基本是一致的。SQL只是一種建議標(biāo)準(zhǔn),各種數(shù)據(jù)庫產(chǎn)品中所實(shí)現(xiàn)的SQL在語法、功能等
4、方面均略有差異,本章講述VisualFoxPro中SQL的語法、功能與應(yīng)用。5VisualFoxPro6.1SQL數(shù)據(jù)查詢定義查詢——在數(shù)據(jù)庫和表中查找與給定條件匹配的數(shù)據(jù),并由此生成新的關(guān)系或輸出。在所有的語言中,基本通用SQL語句6VisualFoxPro查詢的基本用法和子句參照表:倉庫表(倉庫號(hào)C,城市C,面積N)職工表(倉庫號(hào)C,職工號(hào)C,工資N)訂購單表(職工號(hào)C,供應(yīng)商號(hào)C,訂貨單號(hào),訂購日期)基本語句一:SELECT:查詢動(dòng)詞,說明要查找的數(shù)據(jù),它可以是字段名,表達(dá)式和常量FROM:確定數(shù)據(jù)的來源,指
5、明表名或它的別名,可以是多個(gè)表7VisualFoxPro查詢的基本用法和子句范例一:SELECT*FROM職工SELECT倉庫號(hào),城市FROM倉庫表ORDERBY面積DESCSELECTDISTINCT供應(yīng)商號(hào)FROM訂購單表SELECT*FROM倉庫表WHERE面積>=380SELECTA.倉庫號(hào),B.城市,B.職工號(hào),B.工資;FROM倉庫表A,職工表B;WHEREA.倉庫號(hào)=B.倉庫號(hào)8VisualFoxPro基本語句二:WHERE:說明查詢記錄的條件,兩個(gè)表之間的聯(lián)接條件,在數(shù)據(jù)庫中的永久連接默認(rèn)為當(dāng)然的條
6、件。范例二:求解:查詢?yōu)镾3供應(yīng)商提供服務(wù)的倉庫所在的城市SELECTA.城市;FROM倉庫表A,職工表B,訂購單表C;WHEREA.倉庫號(hào)=B.倉庫號(hào).AND.;B.職工號(hào)=C.職工號(hào).and.C.供應(yīng)商名=“S3”問題:完成學(xué)生成績的查詢,查詢的基本用法和子句9VisualFoxPro基本語句三:ORDERBY:對(duì)查詢的結(jié)果排序GROUPBY組表達(dá)式1,…:對(duì)查詢結(jié)果進(jìn)行分和分類匯總HAVING〈條件表達(dá)式〉:限定分組條件范例三:成績查詢SELECT*FROM成績ORDERBY成績DESCSELECT學(xué)號(hào),SU
7、M(成績)AS合計(jì)FROM成績;ORDERBY合計(jì)DESC;GROUPBY學(xué)號(hào)SELECTA.姓名,A.學(xué)號(hào),SUM(B.成績)AS合計(jì)FROM學(xué)生A,成績B;ORDERBY合計(jì)DESC;GROUPBYA.學(xué)號(hào)查詢的基本用法和子句10VisualFoxPro查詢的基本用法和子句基本查詢語句四:INTO《目標(biāo)》
8、TOPRINTER
9、TOSCREEN
10、TOFILE_NAME確定查詢的去向:打印機(jī),屏幕,表和目標(biāo)(默認(rèn)的是屏幕),目標(biāo)可以是:ARRAY數(shù)組名CURSOR臨時(shí)表名DBF(或TABLE)表名范例4:SELEC
11、TMAX(單價(jià))INTOARRAYAFROMSBSELECT姓名,房間號(hào),標(biāo)準(zhǔn)價(jià)格*天數(shù)AS實(shí)際房費(fèi);FROM酒店管理INTOTABLE結(jié)算11VisualFoxPro綜合分析:假設(shè)有設(shè)備表SB和大修表DX,請(qǐng)分析以下SQL語句的功能:基本表格:SB.DBFDX.DBF范例5:SELECTSB.名稱,SUM(DX.費(fèi)用)AS大修總費(fèi)用fromSB,DX;WH