欧美精品一二区,性欧美一级,国产免费一区成人漫画,草久久久久,欧美性猛交ⅹxxx乱大交免费,欧美精品另类,香蕉视频免费播放

第3章VF中SQL語言的應用1

上傳人:仙*** 文檔編號:34578237 上傳時間:2021-10-21 格式:PPT 頁數:43 大?。?02.52KB
收藏 版權申訴 舉報 下載
第3章VF中SQL語言的應用1_第1頁
第1頁 / 共43頁
第3章VF中SQL語言的應用1_第2頁
第2頁 / 共43頁
第3章VF中SQL語言的應用1_第3頁
第3頁 / 共43頁

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《第3章VF中SQL語言的應用1》由會員分享,可在線閱讀,更多相關《第3章VF中SQL語言的應用1(43頁珍藏版)》請在裝配圖網上搜索。

1、第十章 VF中SQL語言的應用n第一節(jié)第一節(jié) SQL語言概述語言概述 n第二節(jié)第二節(jié) 數據查詢數據查詢n第三節(jié)第三節(jié) 數據操縱數據操縱n第四節(jié)第四節(jié) 數據定義數據定義 SQLSQL語言簡介語言簡介 SQLSQL(Structured Query LanguageStructured Query Language)語言是一種十分重要的語言是一種十分重要的。 SQLSQL語言語言19861986年成為國際標準語言年成為國際標準語言 SQL SQL語言有兩種使用方式,即可語言有兩種使用方式,即可以作為以作為自含式語言自含式語言,在數據庫管理系,在數據庫管理系統(tǒng)中獨立使用,又可以作為統(tǒng)中獨立使用,又可

2、以作為嵌入式語嵌入式語言言,嵌入許多高級語言(如,嵌入許多高級語言(如C C、FORTRANFORTRAN、COBOLCOBOL)中使用。)中使用。 SQLSQL語言的特點語言的特點1 1SQLSQL語言是一種一體化的語言語言是一種一體化的語言 2 2SQLSQL語言是一種高度非過程化的語言。語言是一種高度非過程化的語言。 它沒有必要一步步告訴計算機它沒有必要一步步告訴計算機“如何如何”去做,而只需要描述清楚用戶要去做,而只需要描述清楚用戶要“做什做什么么”,SQLSQL語言就可以將要求交給系統(tǒng),語言就可以將要求交給系統(tǒng),自動完成全部工作。它的大多數語句都是自動完成全部工作。它的大多數語句都是

3、獨立執(zhí)行、與上下文無關。獨立執(zhí)行、與上下文無關。3 3語言簡潔,易學易用語言簡潔,易學易用SQL的命令動詞SQL功能 命令動詞數據查詢數據查詢 SELECT數據定義數據定義 CREATE、DROP、ALTER數據操縱數據操縱 INSERT、UPDATE、DELETE數據控制數據控制 GRANT、REVOKE(VFP中不中不能用)能用)操作不需要打開表7二、二、 SQLSQL語言的基本概念語言的基本概念SQLSQL語言支持關系型數據庫的三級模式結構。其中外模語言支持關系型數據庫的三級模式結構。其中外模式對應于式對應于視圖(視圖(ViewView)和部分和部分基本表(基本表(Base TableB

4、ase Table),),模式對應于基本表,內模式對應于存儲文件。模式對應于基本表,內模式對應于存儲文件?;颈砘颈硎潜旧愍毩⒋嬖诘谋恚谑潜旧愍毩⒋嬖诘谋?,在SQLSQL語言中一個關語言中一個關系對應一個表。一些基本表對應一個存儲文件,一個系對應一個表。一些基本表對應一個存儲文件,一個表可以帶若干索引,索引存放在存儲文件中。表可以帶若干索引,索引存放在存儲文件中。存儲文件的邏輯結構組成了關系型數據庫的內模存儲文件的邏輯結構組成了關系型數據庫的內模式。而存儲文件的物理文件結構是任意的。式。而存儲文件的物理文件結構是任意的。視圖是從基本表或其他視圖中導出的表,它本身視圖是從基本表或其他視圖中導

5、出的表,它本身不獨立存儲在數據庫中,也就是說數據庫只存放在視不獨立存儲在數據庫中,也就是說數據庫只存放在視力的定義而不存放視圖對應的數據,這些數據仍存放力的定義而不存放視圖對應的數據,這些數據仍存放在導出視圖的基本表中,因此視圖是一個虛表。在導出視圖的基本表中,因此視圖是一個虛表。1 1、數據定義數據定義命令命令* * CREATE TABLE-SQLCREATE TABLE-SQL(建立表結構)(建立表結構) ALTER TABLE-SQLALTER TABLE-SQL(修改表結構)(修改表結構) DROP TABLE-SQLDROP TABLE-SQL(刪除表)(刪除表)2 2、數據修改、

6、數據修改命令命令 INSERT-SQLINSERT-SQL(插入數據)(插入數據)* * DELETE-SQLDELETE-SQL(刪除數據)(刪除數據)* * UPDATE-SQLUPDATE-SQL(更新數據)(更新數據)3 3、SQLSQL數據查詢數據查詢 在數據庫中對數據的操作,很在數據庫中對數據的操作,很多時侯是查詢,因此,數據查詢是多時侯是查詢,因此,數據查詢是數據庫的核心操作。而在數據庫的核心操作。而在SQLSQL語言中,語言中,查詢語言中只有一條查詢命令,即查詢語言中只有一條查詢命令,即SELECTSELECT語句。語句。 10.2 數據查詢n數據查詢通過數據查詢通過Selec

7、t語句表達語句表達n語句格式語句格式S E L E C T A L L | D I S T I N C T , FROM , WHERE GROUP BY HAVING ORDER BY ASC|DESC 10.2 數據查詢nSELECT子句子句:指定要顯示的屬性列:指定要顯示的屬性列nFROM子句子句:指定查詢對象:指定查詢對象(基本表或視圖基本表或視圖)nWHERE子句子句:指定查詢條件:指定查詢條件nGROUP BY子句子句:對查詢結果按指定列的值分組,:對查詢結果按指定列的值分組,該屬性列值相等的元組為一個組。通常會在每組該屬性列值相等的元組為一個組。通常會在每組中作用集函數。中作用集

8、函數。nHAVING短語短語:篩選出只有滿足指定條件的組:篩選出只有滿足指定條件的組nORDER BY子句子句:對查詢結果表按指定列值的升:對查詢結果表按指定列值的升序或降序排序序或降序排序 10.2 數據查詢n整個整個Select語句的含義:語句的含義:n根據根據Where子句的條件表達式,從子句的條件表達式,從From子句指定子句指定的基本表或視圖中找出滿足條件的元組,再按的基本表或視圖中找出滿足條件的元組,再按Select子句中的目標列表達式,選出元組中的屬子句中的目標列表達式,選出元組中的屬性值形成結果表。如果有性值形成結果表。如果有Group子句,則將結果子句,則將結果按按的值進行分

9、組,該屬性列值相等的的值進行分組,該屬性列值相等的元組為一個組。元組為一個組。如果如果Group子句帶子句帶Having短語,短語,則只有滿足指定條件的組才可以輸出則只有滿足指定條件的組才可以輸出。如果有。如果有Order子句,則結果還要按子句,則結果還要按的值升序的值升序或降序排列。或降序排列。10.2 數據查詢n注意:注意:n編寫編寫SQL語句之前,要知道各個表的結構和聯(lián)系,語句之前,要知道各個表的結構和聯(lián)系,即數據庫的模式。即數據庫的模式。nSQL一般寫成多行,用續(xù)行符一般寫成多行,用續(xù)行符(;)接在最后,但接在最后,但SQL語句完成的那行不加續(xù)行符。語句完成的那行不加續(xù)行符。n表達式和

10、表達式和SQL中的中的符號的書寫必須使用半角符號符號的書寫必須使用半角符號10.2.1 單表查詢n單表查詢單表查詢:From子句后只有一個表的查詢子句后只有一個表的查詢nFrom子句的格式:子句的格式:FROM 數據庫名數據庫名! 表名表名 AS本地別名本地別名 n數據庫名數據庫名!:可選,用來指出哪個數據庫中的表:可選,用來指出哪個數據庫中的表n本地別名:可選,給數據表起另一個名字,在后本地別名:可選,給數據表起另一個名字,在后面可以用別名代替原表名面可以用別名代替原表名n分下面三種使用情況舉例分下面三種使用情況舉例n1. 查詢所有的列查詢所有的列n2. 查詢指定的列查詢指定的列n3.查詢經

11、過計算的值或更改列標題名查詢經過計算的值或更改列標題名1. 查詢所有列n如果如果SELECT中的中的為為*,表示查詢所有列,表示查詢所有列n例例10.1 返回返回“學生表學生表”中的所有行和所有列中的所有行和所有列set default to “D:我的我的數據庫項目數據庫項目”open database “D:我的我的數據庫項目數據庫項目數據庫數據庫教學管理教學管理數據庫數據庫.dbc”select * ;from 教學管理數據庫教學管理數據庫!學生表學生表n例例10.2 查詢成績表中的所有記錄查詢成績表中的所有記錄set default to “D:我的數據庫項目我的數據庫項目”open

12、database “D:我的數據庫項目我的數據庫項目數據庫數據庫教學管理教學管理數據庫數據庫.dbc”select * ;from 成績表成績表2. 查詢指定列 (投影操作)n要查詢指定列,要在要查詢指定列,要在SELECT的的中中指定列名,在這些列上進行投影。指定列名,在這些列上進行投影。n例例10.3 檢索學生表中的學號、姓名、性別和籍貫檢索學生表中的學號、姓名、性別和籍貫set default to “D:我的數據庫項目我的數據庫項目”nopen database “D:我的數據庫項目我的數據庫項目數據庫數據庫教教學管理數據庫學管理數據庫.dbc”nselect 學號學號,姓名姓名,性別

13、性別,籍貫籍貫;nfrom 學生表學生表3.查詢經過計算的值或更改列標題名nSELECT子句中可以使用運算符來對列進行計算得到結果子句中可以使用運算符來對列進行計算得到結果nSELECT子句可以用子句可以用更改字段名更改字段名n例例10.4 對學生表的入學成績除以對學生表的入學成績除以600,求相對成績,其顯示的字段名為,求相對成績,其顯示的字段名為“相對成績相對成績”set default to “D:我的數據庫項目我的數據庫項目”open database “D:我的數據庫項目我的數據庫項目數據庫數據庫教學管理數據庫教學管理數據庫.dbc”select 學號學號,姓名姓名,入學成績入學成績

14、/600 as 相對成績相對成績;from 學生表學生表n例例10.5 求所有學生在求所有學生在2004年的年齡年的年齡set default to “D:我的數據庫項目我的數據庫項目”open database “D:我的數據庫項目我的數據庫項目數據庫數據庫教學管理數據庫教學管理數據庫.dbc”select 學號學號,姓名姓名,2004-year(出生日期出生日期) as 年齡年齡;from 學生表學生表二、選擇表中的若干元組二、選擇表中的若干元組(選擇操作選擇操作)n使用使用SELECT語句的語句的WHERE子句的條件來實行選擇子句的條件來實行選擇操作操作n1. 消除取值重復的行消除取值重

15、復的行n有時兩個本來不完全相同的元組,在選擇某些列后,可能有時兩個本來不完全相同的元組,在選擇某些列后,可能變成完全相同了。如果指定變成完全相同了。如果指定DISTINCT短語,則表示在計短語,則表示在計算時要取消指定列中的重復值。如果不指定算時要取消指定列中的重復值。如果不指定DISTINCT短短語或指定語或指定ALL短語短語(ALL為默認值為默認值),則表示不取消重復值。,則表示不取消重復值。n例例10.6:輸出學生表中所有的籍貫。:輸出學生表中所有的籍貫。select distinct 籍貫籍貫;from 學生表學生表二、選擇表中的若干元組二、選擇表中的若干元組(選擇操作選擇操作)2.查

16、詢滿足條件的元組查詢滿足條件的元組查詢滿足指定條件的元組可以通過查詢滿足指定條件的元組可以通過WHERE子句實現,子句實現,WHERE子句常用的查詢條件如子句常用的查詢條件如表表10.1所示。所示。=等于等于=小于等于小于等于=準確等于準確等于 AND與,用于多重條件與,用于多重條件 LIKE字符匹配字符匹配 OR或,用于多重條件或,用于多重條件 或或 != 或或 # 不等于不等于 NOT非,用于條件取非非,用于條件取非大于大于 BETWEENAND確定范圍確定范圍 =大于等于大于等于IN確定集合確定集合 、=、=、=、#(或或!=或或)、= =。 n例例10.8:查找入學成績大于等于:查找入

17、學成績大于等于600的同的同學的學號、姓名和入學成績。學的學號、姓名和入學成績。select 學號學號,姓名姓名,入學成績入學成績;from 學生表學生表;where 入學成績入學成績= 600 二、二、選擇表中的若干元組選擇表中的若干元組(選擇操作選擇操作)2.查詢滿足條件的元組之查詢滿足條件的元組之(1)大小比較大小比較n例例10.9:查找學生表中的少數民族學生。:查找學生表中的少數民族學生。select 學號學號,姓名姓名;from 學生表學生表;where 少數民族否少數民族否 = .T.n例例10-10:求:求1987年以后出生的學生學號年以后出生的學生學號和姓名。和姓名。selec

18、t 學號學號,姓名姓名,出生日期出生日期;from 學生表學生表;where 出生日期出生日期=1987/01/01二、二、選擇表中的若干元組選擇表中的若干元組(選擇操作選擇操作)n2.查詢滿足條件的元組之查詢滿足條件的元組之(2)多重條件查詢多重條件查詢nSELECT語句提供邏輯運算符語句提供邏輯運算符AND和和OR,可用來組合聯(lián)結多,可用來組合聯(lián)結多個查詢條件。個查詢條件。 n例例10.11:查找入學成績在:查找入學成績在500分以上的少數民族學生的學分以上的少數民族學生的學號、姓名和少數民族否。號、姓名和少數民族否。select 學號學號,姓名姓名,少數民族否少數民族否;from 學生表

19、學生表;where 入學成績入學成績 = 500 and 少數民族否少數民族否 = .T.n例例10.12:查找入學成績在:查找入學成績在570分以上的女性學生,顯示學分以上的女性學生,顯示學號、姓名、性別和入學成績。號、姓名、性別和入學成績。select 學號學號,姓名姓名,性別性別,入學成績入學成績;from 學生表學生表;where 入學成績入學成績 = 570 and 性別性別 = 女女nAND的優(yōu)先級高于的優(yōu)先級高于OR,但我們可以用括號改變優(yōu)先級。,但我們可以用括號改變優(yōu)先級。 二、二、選擇表中的若干元組選擇表中的若干元組(選擇操作選擇操作)n2.查詢滿足條件的元組之查詢滿足條件的

20、元組之(3)確定范圍確定范圍n謂詞謂詞BETWEENAND用來限定范圍,其中用來限定范圍,其中BETWEEN后后是范圍的下限是范圍的下限(即低值即低值),AND后是范圍的上限(即高值)。后是范圍的上限(即高值)。n n例例10.13:求入學成績在:求入學成績在500到到600間的學生學號、姓名和入間的學生學號、姓名和入學成績。學成績。select 學生表學生表.學號學號, 學生表學生表.姓名姓名, 學生表學生表.入學成績入學成績;from 教學管理數據庫教學管理數據庫!學生表學生表;where 學生表學生表.入學成績入學成績 between 500 and 600上述上述SQL語句的條件等價于

21、如下語句語句的條件等價于如下語句where 學生表學生表.入學成績入學成績 = 500 and 學生表學生表.入學成績入學成績 = 600二、二、選擇表中的若干元組選擇表中的若干元組(選擇操作選擇操作)n2.查詢滿足條件的元組之查詢滿足條件的元組之(3)確定范圍確定范圍n如果要求入學成績不在如果要求入學成績不在500到到600間的學生學間的學生學號、姓名和入學成績,使用下列號、姓名和入學成績,使用下列SQL語句:語句:select 學生表學生表.學號學號, 學生表學生表.姓名姓名, 學生表學生表.入學成績入學成績;from 教學管理數據庫教學管理數據庫!學生表學生表;where 學生表學生表.

22、入學成績入學成績 not between 1000 and 600 二、二、選擇表中的若干元組選擇表中的若干元組(選擇操作選擇操作)n2.查詢滿足條件的元組之查詢滿足條件的元組之(4)確定集合確定集合n使用謂詞使用謂詞 IN , NOT IN n:用逗號分隔的一組取值:用逗號分隔的一組取值n例例10.14:求籍貫為:求籍貫為“江西南昌江西南昌”或或“吉林吉林”的學生學號、姓的學生學號、姓名和籍貫。名和籍貫。select 學生表學生表.學號學號, 學生表學生表.姓名姓名, 學生表學生表.籍貫籍貫;from 教學管理數據庫教學管理數據庫!學生表學生表;where 學生表學生表.籍貫籍貫 in (吉

23、林吉林,江西南昌江西南昌)n上述上述SQL語句可以等價于如下語句可以等價于如下SQL語句。語句。select 學生表學生表.學號學號, 學生表學生表.姓名姓名, 學生表學生表.籍貫籍貫;from 教學管理數據庫教學管理數據庫!學生表學生表;where 學生表學生表.籍貫籍貫 = 吉林吉林;or 學生表學生表.籍貫籍貫 = 江西南昌江西南昌二、二、選擇表中的若干元組選擇表中的若干元組(選擇操作選擇操作)n2.查詢滿足條件的元組之查詢滿足條件的元組之(4)確定集合確定集合n例例10.15:求籍貫不為:求籍貫不為“江西南昌江西南昌”和和“吉林吉林”的學生學號、的學生學號、姓名和籍貫。姓名和籍貫。se

24、lect 學生表學生表.學號學號, 學生表學生表.姓名姓名, 學生表學生表.籍貫籍貫;from 教學管理數據庫教學管理數據庫!學生表學生表;where 學生表學生表.籍貫籍貫 not in (吉林吉林,江西南昌江西南昌)n上述上述SQL語句可以等價于如下語句可以等價于如下SQL語句。語句。select 學生表學生表.學號學號, 學生表學生表.姓名姓名, 學生表學生表.籍貫籍貫;from 教學管理數據庫教學管理數據庫!學生表學生表;where 學生表學生表.籍貫籍貫 != 吉林吉林;and 學生表學生表.籍貫籍貫 != 江西南昌江西南昌二、二、選擇表中的若干元組選擇表中的若干元組(選擇操作選擇操

25、作)n2.查詢滿足條件的元組之查詢滿足條件的元組之(5)字符匹配字符匹配n謂詞謂詞LIKE可用來進行字符串的匹配??捎脕磉M行字符串的匹配。格式格式:nNOT LIKE ESCAPE n :指定匹配模板,固定字符串或含通配符的字符串:指定匹配模板,固定字符串或含通配符的字符串n當匹配模板為固定字符串時,可以用當匹配模板為固定字符串時,可以用 = = 運算符取代運算符取代 LIKE LIKE 謂謂詞,用詞,用 # #、!= != 或或 運算符取代運算符取代 NOT LIKE NOT LIKE 謂詞謂詞n通配符通配符:%(%(百分號百分號) )和和_(_(下劃線下劃線) )n% % 代表任意長度代表

26、任意長度( (長度可以為長度可以為0)0)的字符串。例如的字符串。例如a%ba%b表示以表示以a a開開頭,以頭,以b b結尾的任意長度的字符串。結尾的任意長度的字符串。n如如acbacb,addgbaddgb,abab等都滿足該匹配串等都滿足該匹配串 n代表任意單個字符。例如代表任意單個字符。例如a_ba_b表示以表示以a a開頭,以開頭,以b b結尾的長度為結尾的長度為3 3的任意字符串。如的任意字符串。如acbacb,afbafb等都滿足該匹配串等都滿足該匹配串二、二、選擇表中的若干元組選擇表中的若干元組(選擇操作選擇操作)n2.查詢滿足條件的元組之查詢滿足條件的元組之(5)字符匹配字符

27、匹配例題n例例10-16:查找以姓:查找以姓“李李”開頭的學生學號和姓名。開頭的學生學號和姓名。select 學號學號,姓名姓名;from 學生表學生表;where 姓名姓名 like 李李%“n例例10-17:查找以:查找以“強強”字為最后一個字符的學生字為最后一個字符的學生學號和姓名。學號和姓名。select 學號學號,姓名姓名;from 學生表學生表;where 姓名姓名 like %強強二、二、選擇表中的若干元組選擇表中的若干元組(選擇操作選擇操作)n2.查詢滿足條件的元組之查詢滿足條件的元組之(5)字符匹配字符匹配例題n例例10-18:查找第二個字符為:查找第二個字符為“永永”字的學

28、生學號字的學生學號和姓名。和姓名。select 學號學號,姓名姓名;from 學生表學生表;where 姓名姓名 like _永永%“n例例10-19:查找江西籍的男性學生的學號和姓名:查找江西籍的男性學生的學號和姓名select 學號學號,姓名姓名,性別性別,籍貫籍貫;from 學生表學生表;where 籍貫籍貫 like 江西江西%;and 性別性別 = 男男二、二、選擇表中的若干元組選擇表中的若干元組(選擇操作選擇操作)n2.查詢滿足條件的元組之查詢滿足條件的元組之(5)字符匹配字符匹配例題n例例10-20:查找吉林或遼寧籍的學生學號、姓名、性別和籍:查找吉林或遼寧籍的學生學號、姓名、性

29、別和籍貫。貫。select 學號學號,姓名姓名,性別性別,籍貫籍貫;from 學生表學生表;where 籍貫籍貫 like 吉林吉林%;or 籍貫籍貫 like 遼寧遼寧%“n例例10-21:查找非吉林和遼寧籍的學生學號、姓名、性別和:查找非吉林和遼寧籍的學生學號、姓名、性別和籍貫。籍貫。select 學號學號,姓名姓名,性別性別,籍貫籍貫;from 學生表學生表;where not (籍貫籍貫 like 吉林吉林%);and not (籍貫籍貫 like 遼寧遼寧%)二、二、選擇表中的若干元組(選擇表中的若干元組(查詢結果輸出到表查詢結果輸出到表)n2.查詢滿足條件的元組之查詢滿足條件的元組

30、之(6)查詢結果輸出到表查詢結果輸出到表nSELECT默認輸出給用戶瀏覽默認輸出給用戶瀏覽。SELECT同時提供同時提供INTO或或TO子句來將查詢結果輸出重定向,其格式為:子句來將查詢結果輸出重定向,其格式為:INTO | TO FILE ADDITIVE | TO PRINTERn1)INTO n表示將查詢結果保存到目標中,表示將查詢結果保存到目標中,目標的形式有三種:目標的形式有三種:nARRAY :將查詢結果存到指定的數組中。:將查詢結果存到指定的數組中。nCURSOR :將查詢結果存到一個游標中。所謂:將查詢結果存到一個游標中。所謂游標是一個臨時表,不同之處在于一旦游標關閉就被刪除。

31、游標是一個臨時表,不同之處在于一旦游標關閉就被刪除。nDBF | TABLE :將查詢結果存到一個表,如:將查詢結果存到一個表,如果該表已經打開,則系統(tǒng)自動關閉該表。如果已經設置了果該表已經打開,則系統(tǒng)自動關閉該表。如果已經設置了SET SAFETY OFF(將安全功能關閉將安全功能關閉),則重新打開它不提,則重新打開它不提示。如果沒有指定后綴,則默認為示。如果沒有指定后綴,則默認為.dbf。在。在SELECT命令命令執(zhí)行完后,該表為打開狀態(tài)。執(zhí)行完后,該表為打開狀態(tài)。 二、二、選擇表中的若干元組(選擇表中的若干元組(查詢結果輸出到表查詢結果輸出到表)n2.查詢滿足條件的元組之查詢滿足條件的元

32、組之(6)查詢結果輸出到表查詢結果輸出到表n2)TO FILE ADDITIVE 將查詢結果將查詢結果輸出到指定的文本文件,輸出到指定的文本文件,ADDTIVE表示將結果追加表示將結果追加到原文件后面,否則將覆蓋原有文件。到原文件后面,否則將覆蓋原有文件。n3)TO PRINTER 的功能是將查詢結果送打印機輸的功能是將查詢結果送打印機輸出。出。n例例10-22:將籍貫為:將籍貫為“吉林吉林”或或“遼寧遼寧”的學生學號、的學生學號、姓名、性別和籍貫輸出到姓名、性別和籍貫輸出到D盤的根目錄。盤的根目錄。open database “D數據庫數據庫教學管理數據庫教學管理數據庫.DBC” &打開數據

33、庫打開數據庫set default to D:&設置輸出的目錄設置輸出的目錄select 學號學號,姓名姓名,性別性別,籍貫籍貫;from 學生表學生表;into dbf aa; where 籍貫籍貫 like “吉林吉林%” or 籍貫籍貫 like “遼遼寧寧%” &運行查詢運行查詢close all&關閉數據庫關閉數據庫use D:aa.dbf&打開數據庫打開數據庫aa.dbfbrowse&瀏覽查詢結果瀏覽查詢結果三、對查詢結果排序三、對查詢結果排序n使用使用ORDER BY子句子句n可以按一個或多個屬性列排序可以按一個或多個屬性列排序n升序:升序:ASC;降序:;降序:DESC;缺省值

34、為升序;缺省值為升序n當排序列含空值時當排序列含空值時nASC:排序列為空值的元組最后顯示:排序列為空值的元組最后顯示nDESC:排序列為空值的元組最先顯示:排序列為空值的元組最先顯示 三、對查詢結果排序三、對查詢結果排序舉例舉例n例例10-23:查詢所有學生的入學成績,查詢結:查詢所有學生的入學成績,查詢結果按入學成績的降序排列。果按入學成績的降序排列。nselect 學號學號,姓名姓名,入學成績入學成績;nfrom 學生表學生表;norder by 入學成績入學成績 descn例例10-24:查詢所有學生的入學成績,查詢結:查詢所有學生的入學成績,查詢結果按入學成績的升序排列。果按入學成績

35、的升序排列。n select 學號學號,姓名姓名,入學成績入學成績;nfrom 學生表學生表;norder by 入學成績入學成績三、對查詢結果排序三、對查詢結果排序舉例舉例n例例10-25:按入學成績排降序和出生日期排降:按入學成績排降序和出生日期排降序輸出學號、姓名、入學成績和出生日期。序輸出學號、姓名、入學成績和出生日期。select 學號學號,姓名姓名,入學成績入學成績,出生日期出生日期;from 學生表學生表;order by 入學成績入學成績 desc, 出生日期出生日期 desc四、使用聚集函數四、使用聚集函數n聚集函數:指作用在一個集合上的函數,如聚集函數:指作用在一個集合上的

36、函數,如求和函數求和函數sum、求平均值、求平均值avg函數函數 nSQL中的聚集函數中的聚集函數 函數函數含義含義AVG(DISTINCT|ALL )計算一列值的平均值計算一列值的平均值(此列必須是數值此列必須是數值型型)COUNT(DISTINCT|ALL *)統(tǒng)計元組個數統(tǒng)計元組個數COUNT(DISTINCT|ALL )統(tǒng)計一列中值的個數統(tǒng)計一列中值的個數MIN(DISTINCT|ALL )求一列值中的最小值求一列值中的最小值MAX(DISTINCT|ALL )求一列值中的最大值求一列值中的最大值SUM(DISTINCT|ALL )計算一列值的總和計算一列值的總和(此列必須是數值型此列

37、必須是數值型)四、使用聚集函數四、使用聚集函數例題例題n例例10-26:求學生表中入學成績在:求學生表中入學成績在600分以上分以上的人數。的人數。select count(*);from 學生表學生表;where 入學成績入學成績 = 600n例例10-27:求學生表中入學成績的平均成績:求學生表中入學成績的平均成績select avg(入學成績入學成績);from 學生表學生表五、對查詢結果分組五、對查詢結果分組 n使用使用GROUP BY子句分組子句分組 n細化集函數的作用對象細化集函數的作用對象n未對查詢結果分組,集函數將作用于整個查詢結果未對查詢結果分組,集函數將作用于整個查詢結果n

38、對查詢結果分組后,集函數將分別作用于每個組對查詢結果分組后,集函數將分別作用于每個組 課程號課程號課程名課程名開課學期開課學期課程類別號課程類別號課時數課時數學分學分A0101鄧小平理論鄧小平理論101322B1001計算機應用計算機應用基礎基礎202644C3004微機操作微機操作202322n例例10-28:按課程類別號,求各種類別課程的門數:按課程類別號,求各種類別課程的門數 select 課程類別號課程類別號,count(*);from 課程表課程表;group by 課程類別號課程類別號 課程類別號課程類別號Cnt011022五、對查詢結果分組五、對查詢結果分組 n例例10-29:求

39、各個年級的班數:求各個年級的班數 select 年級年級,count(*);from 班級表班級表;group by 年級年級班級號班級號專業(yè)名稱專業(yè)名稱年級年級 班主任姓名班主任姓名所在學院所在學院班級人數班級人數ICS0301 計算機科學技術計算機科學技術200301班班2003李一梅李一梅信息管理學信息管理學0ICS0302 計算機科學技術計算機科學技術200302班班2003張華張華信息管理學信息管理學0CPA0401注冊會計師注冊會計師200401班班2004王平王平會計學院會計學院0CPA0402注冊會計師注冊會計師200402班班2004馬曉明馬曉明會計學院會計學院0CPA0403注冊會計師注冊會計師200403班班2004 會計學院會計學院0年級年級Cnt2003220043五、對查詢結果分組五、對查詢結果分組nGROUP BY子句的用法子句的用法nGROUP BY子句的作用對象是查詢的中間結果表子句的作用對象是查詢的中間結果表n分組方法:按指定的一列或多列值分組,值相分組方法:按指定的一列或多列值分組,值相等的為一組等的為一組n使用使用GROUP BY子句后,子句后,SELECT子句的列名子句的列名列表中只能出現分組屬性和聚集函數列表中只能出現分組屬性和聚集函數

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關資源

更多
正為您匹配相似的精品文檔

相關搜索

關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網,我們立即給予刪除!