版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、SQL語言(1)數(shù)據(jù)查詢 SELECT(2)數(shù)據(jù)定義 CREATE、DROP、ALTER(3)數(shù)據(jù)修改 INSERT、UPDATE、DELETE(4)數(shù)據(jù)控制 GRANT、REVOKESELECTSELECT語句格式以及說明語句格式以及說明SELECT ALL|DISTINCT TOP|PERCENT, AS FROM ,WHERE GROUP BY HAVING ORDER BY ASC|DESCINTO ARRAY |INTO CURSOR |INTO DBF|TABLE |TO FILE ADDITIVE|TO PRINTERPROMPT一一. .簡單查詢簡單查詢( (對單表的查詢對單表
2、的查詢 )Select From From 后接表名,指定查詢的信息來自于哪些表。例:From 學生 From 學生,選課,課程Select 后接*、字段名、表達式,用來指定查詢結果包含那些列。例:Select * Select 學號,姓名 Select 性別,學號+姓名 女男女男性別性別21222223年齡年齡Bob004Bob003Alice002Tom001姓名姓名學號學號學生學生.dbf.dbf例1:Select * From 學生女男女男性別性別21222223年齡年齡Bob004Bob003Alice002Tom001姓名姓名學號學號Select 學號,姓名; From 學生Sel
3、ect 性別,學號+姓名; From 學生Bob004Bob003Alice002Tom001姓名姓名學號學號女男女男性別性別004Bob003Bob002Alice001TomExp_2Exp_2 36.1 select 單表 橫向統(tǒng)計學號學號姓名姓名性別性別年齡年齡001Tom男23002Alice女22003Bob男22004Bob女21學生.dbf例:查詢所有學生的學號和年齡信息Select 學號,年齡 From 學生學號學號年齡年齡00123002220032200421例:查詢年齡大于22的學生的學號和年齡信息Select 學號,年齡 From 學生 Where 年齡22學號學號年
4、齡年齡00123例:查詢年齡大于22的男生的學號和年齡信息Select 學號 From 學生 Where 性別=“男”and 年齡20 Where 學生.學號=選課.學號各種條件運算符含義舉例=、=、=、!=、比較大小民族=漢AND、OR多重條件專業(yè)=外語 AND 入學成績520BETWEEN AND 確定范圍確定范圍入學成績入學成績 BETWEEN 500 AND 520LIKE字符匹配姓名 LIKE 王%NOT否定運算符NOT 民族=漢比較查詢 查詢“學生”表中漢族學生的姓名、民族和入學成績信息。SELECT 姓名,民族,入學成績 FROM 學生 WHERE 民族=漢“ 查詢“學生”表中少
5、數(shù)民族學生的姓名、民族和入學成績信息。SELECT 姓名,民族,入學成績 FROM 學生 WHERE 民族!=漢 多重條件查詢 在“學生”表中查詢外語專業(yè)中入學成績小于520分的學生的學號、姓名、和入學成績信息。SELECT 學號,姓名,入學成績 FROM 學生;WHERE 專業(yè)=外語 AND 入學成績520范圍查詢 在“學生”表中查詢外語專業(yè)中入學成績小于520分的學生的學號、姓名、和入學成績信息。SELECT 學號,姓名,入學成績 FROM 學生;WHERE 專業(yè)=外語 AND 入學成績520 查詢入學成績在500分到520分之間(包含500分和520分)的學生的學號、姓名和入學成績信息。
6、SELECT 學號,姓名,入學成績 FROM 學生;WHERE 入學成績 BETWEEN 500 AND 520字符串匹配查詢 查詢“學生”表中所有姓王的學生信息。SELECT * FROM 學生 WHERE 姓名 LIKE 王%“ 查詢“課程”表中所有課程名中含有“大學”兩個字的課程名。SELECT 課程名 FROM 課程 WHERE 課程名 LIKE %大學%like語句: “ab” like “a%” “ab” like “a_”Like函數(shù): like(“a*”, “ab”) like(“a?”, “ab”)邏輯型字段條件查詢 查詢“教師”表中所有黨員教師的信息。SELECT * FR
7、OM 教師 WHERE 黨員否=.T.SELECT * FROM 教師 WHERE 黨員否虛擬字段條件查詢 查詢學生表中年齡小于19歲學生的學號、姓名和年齡信息。SELECT 學號,姓名,YEAR(DATE()-YEAR(出生日期) AS 年齡 FROM 學生;WHERE YEAR(DATE()-YEAR(出生日期)2020, Year(Date()-Year(生日生日) As 年齡年齡 ;用用orderorder關鍵字對查詢結果排序關鍵字對查詢結果排序SELECT ;FROM ;ORDER BY ASC|DESC , ASC|DESC , (注:字段名可以用字段序號代替)學號姓名性別年齡00
8、4Bob女21002Alice女22003Bob男22001Tom男23SELECT * FROM 學生;ORDER BY 年齡SELECT * FROM 學生;ORDER BY 年齡 DESC學號姓名性別年齡001Tom男23002Alice女22003Bob男22004Bob女2144用用order對多個關鍵字排序對多個關鍵字排序學號姓名性別年齡004Bob女21002Alice女22003Bob男22001Tom男23SELECT * FROM 學生;ORDER BY 年齡,學號 DESC例:先按年齡升序排列,年齡相同的再按學號降序排列SELECT TOP|PERCENT ;FROM ;
9、ORDER BY;保留排序結果的前保留排序結果的前n(百分之百分之n)條記錄條記錄SELECT TOP 10 *;FROM student;ORDER BY 英語 DESC;SELECT TOP 20 PERCENT *;FROM student;ORDER BY 英語;查詢英語成績前10名的學生記錄。查詢按英語成績升序排序前百分之20名的學生記錄。對查詢結果排序使用ORDER BY語句按照一個或多個字段對查詢結果進行升序(ASC)或降序(DESC)排列,默認為升序排列。 對于空值排序,升序時空值記錄將最后顯示,降序時將最先顯示。ORDER BY語句只能對最終的查詢結果進行排序,在子查詢中不能
10、使用。 ORDER BY語句后不能接任何運算表達式,不能按某個表達式的運算結果進行排序。 使用TOP PERCENT語句可以只顯示排序之后的前幾條記錄或前百分之多少條記錄。 4.1 select 單表 前n項SELECT ;FROM ; INTO ARRAY 或INTO CURSOR 或 INTO DBF|TABLE 或TO FILE 設置查詢去向設置查詢去向 49.2 select 單表 存到文本文件二.聯(lián)接查詢(查詢操作涉及到兩個或兩個以上的表時用連接查詢)學生.dbf選課.dbf課程.dbf 教師.dbf 例:查詢所有女學生體育課程的學號和成績信息。學號學號 姓名姓名 性別性別 入學成績
11、入學成績001 李小華 女 525002 王艷芳 女 510003 吳海洋 男 508 學號學號_A 姓名姓名 性別性別 入學成績入學成績 學號學號_B 課程號課程號 成績成績 學號學號 課程號課程號 成績成績 001 C001 95 001 C004 85 002 C001 90 003 C001 92 003 C003 86學生學生 001 李小華 女 525 001 C001 95 001 李小華 女 525 001 C004 85 001 李小華 女 525 002 C001 90 001 李小華 女 525 003 C001 92 001 李小華 女 525 003 C003 86
12、002 王艷芳 女 510 001 C001 95 002 王艷芳 女 510 001 C004 85 002 王艷芳 女 510 002 C001 90 002 王艷芳 女 510 003 C001 92 002 王艷芳 女 510 003 C003 86 003 吳海洋 男 508 001 C001 95 003 吳海洋 男 508 001 C004 85 003 吳海洋 男 508 002 C001 90 003 吳海洋 男 508 003 C001 92 003 吳海洋 男 508 003 C003 86 selectselect * * fromfrom 學生學生, ,選課選課或或
13、selectselect 學生學生. .學號學號, ,姓名姓名, ,性別性別, ,入學成績入學成績, ,選課選課. .學號學號, ,課程號課程號, ,成績成績 fromfrom 學生學生, ,選課選課選課選課1.無條件無條件聯(lián)接查詢聯(lián)接查詢 無意義!例:查詢學生的學號、姓名、課程號和成績的信息選課選課 學生學生 select * from 學生,選課select 學生.學號,姓名,課程號,成績 from 學生,選課 where 學生.學號=選課.學號2.條件條件聯(lián)接查詢聯(lián)接查詢 where 學生.學號=選課.學號增加條件:增加條件:select 學生.學號,姓名,課程號,成績 from 學生,
14、選課 ;where 學生.學號=選課.學號select 學生.學號,姓名,課程號,成績 from 學生,選課 ;where 學生.學號=選課.學號and 成績90例:查詢學生的學號、姓名、課程號、課程名和成績的信息。選課選課 學生學生 課程 select from where 學生.學號,姓名,選課.課程號,課程名,成績;學生,選課,課程;學生.學號=選課.學號 and 選課.課程號=課程.課程號三個表條件三個表條件聯(lián)接查詢聯(lián)接查詢 29.1 select 雙表 連接 31.1 select 雙表 連接 簡單查詢(單表) 聯(lián)接查詢(多表)無條件聯(lián)接查詢條件聯(lián)接查詢超聯(lián)接查詢內聯(lián)接查詢左聯(lián)接查詢
15、右聯(lián)接查詢全聯(lián)接查詢【超聯(lián)接查詢格式】SELECTFROM I INNER | LEFT | RIGHT | FULL JOIN ON WHERE超聯(lián)接-內聯(lián)接(滿足條件就相連)select * from 學生 JOIN 選課 ON 學生.學號=選課.學號select * from 學生 INNER JOIN 選課 ON 學生.學號=選課.學號或select * from 學生 where 學生.學號=選課.學號 (就是內聯(lián)結)超聯(lián)接-左聯(lián)接(內連記錄+左表不滿足條件的記錄)select * from 學生 left JOIN 選課 ON 學生.學號=選課.學號超聯(lián)接-右聯(lián)接(內連記錄+右表不
16、滿足條件的記錄)select * from 學生 right JOIN 選課 ON 學生.學號=選課.學號超聯(lián)接-全聯(lián)接(內連記錄+左右表不滿足條件的記錄)select * from 學生 full JOIN 選課 ON 學生.學號=選課.學號返回select * from 學生,選課,課程統(tǒng)計查詢(分組統(tǒng)計查詢) COUNT( 字段名 或 *) 統(tǒng)計記錄個數(shù)個數(shù)。 SUM(字段名) 計算某一列值的總和總和(字段必須是數(shù)值型)。 AVG( 字段名) 計算某一列的平均值平均值( (字段必須是數(shù)值型)。 MAX(字段名) 計算某一列值的最大值最大值。 MIN(字段名) 計算某一列值的最小值最小值。
17、統(tǒng)計查詢(最大值max( )、最小值min()選課【例】查詢分數(shù)最高的成績Select max(成績) As 最高分 From 選課【例】查詢001學生的最低成績Select min(成績) From 選課 Where 學號=“001”統(tǒng)計查詢(和求sum( )、求平均avg( )選課【例】查詢學號為”001”的平均成績Select avg(成績) From 選課 where 學號=001【例】所有成績的總分Select sum(成績) From 選課統(tǒng)計查詢(行數(shù)COUNT(* )選課【例】查詢選課門數(shù)Select count(*) as From 選課選課門數(shù)查詢“某某數(shù)”信息時,使用:S
18、elect count(*) as 某某數(shù) from 例如:選課門數(shù)、人數(shù)、金牌數(shù)、獎牌數(shù)、課程數(shù)、訂單數(shù)分組統(tǒng)計查詢(用Group by 分組,用篩選having分組結果)【例】統(tǒng)計各職稱的人數(shù)Select 職稱, count(*) as 人數(shù) From 教師 Group by 職稱 教師【例】統(tǒng)計各職稱的人數(shù),但只保留人數(shù)大于1的記錄Select 職稱, count(*) as 人數(shù) From 教師;Group by 職稱;Having 人數(shù)1【例】統(tǒng)計總人數(shù)Select count(*) as 人數(shù) From 教師 或 Having count(*)1 但不允許 where人數(shù)1 或 where count(*)1 篩選條件中有和(sum)、平均(avg)、最大(max)、最小(min)、行數(shù)(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單位管理制度集合大合集人員管理十篇
- 單位管理制度合并選集【職員管理篇】十篇
- 單位管理制度分享匯編職員管理篇
- 單位管理制度分享大全職工管理
- 單位管理制度范例選集職工管理篇十篇
- 八下期中(高頻論述題50題)(測試范圍:第1-11課)(解析版)
- 《電子傳真系統(tǒng)介紹》課件
- 《電弧的基本特征》課件
- 《物流勞動管理》課件
- 員工試用期轉正的申請書范文500字
- 印度尼西亞民法
- 金屬釕及其化合物
- 輸送機安裝施工方案
- 【西平李氏】忠武郡王李晟后裔分布及部分家譜
- 水庫回水計算(實用)
- 人力資源管理概論全套課件
- 伊索寓言-狗和影子課件
- 卸船機用行星減速機的設計-畢業(yè)設計
- 中班美術活動美麗的蝴蝶教案【含教學反思】
- 北師大版九年級數(shù)學上冊教學教學工作總結
- 光儲電站儲能系統(tǒng)調試方案
評論
0/150
提交評論