版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第6章 關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL命令,【主要內(nèi)容】6-1 SQL概述6-2 查詢(xún)查詢(xún),【目的要求】掌握SQL語(yǔ)言的基本概念掌握SQL語(yǔ)言的基本格式掌握SQL語(yǔ)言查詢(xún)功能,6-1 SQL語(yǔ)言基本概念,1、SQL是結(jié)構(gòu)化查詢(xún)語(yǔ)言(Structured Query Language的縮寫(xiě))2、特點(diǎn):是一種一體化語(yǔ)言是一種高度非過(guò)程化語(yǔ)言非常簡(jiǎn)潔可以以命令方式交互使用(也可以作為程序代碼)3、SQL的功能:數(shù)據(jù)查詢(xún)數(shù)
2、據(jù)定義數(shù)據(jù)操縱數(shù)據(jù)控制(此功能VFP沒(méi)有),一.SQL語(yǔ)言概述,二.語(yǔ)句格式及功能1、命令格式 SELECT 目標(biāo)字段名表; FROM 表名 [關(guān)聯(lián)語(yǔ)句]; [WHERE 篩選條件]; [ ORDER BY 排序依據(jù)]; [GROUP BY 分組依據(jù)] ; [HAVING 分組限制條件]; [INTO /TO 查詢(xún)?nèi)ハ騗 [NOCONSOLE][PLAI
3、N][NOWAIT],,6-1 SQL語(yǔ)言基本概念,2、目標(biāo)字段名表選項(xiàng),符合條件的記錄數(shù):ALL 所有符合條件的記錄(默認(rèn))DISTINCT 符合條件者重復(fù)的只出現(xiàn)一次TOP n 符合條件者的前n 個(gè)記錄 [必須有ORDER BY子句]TOP n PERCENT符合條件者前n%個(gè)記錄[必須有ORDER BY子句]所需字段* 表示所有字段表名.字段名 [AS 標(biāo)題],表名.字段名 [A
4、S 標(biāo)題] 函數(shù)(字段名),支持函數(shù)為:count,sum,avg,max,min (稱(chēng)為計(jì)算查詢(xún))指定字段或要計(jì)算的結(jié)果COUNT:對(duì)一列中的值計(jì)算個(gè)數(shù);COUNT(*):計(jì)算表中記錄的個(gè)數(shù);SUM 、AVG :求某一列值的總和和平均值(此列必須是數(shù)值型)MAX、 MIN :求某一列值的最大值、最小值(可以為字符型、數(shù)值、日期),6-1 SQL語(yǔ)言基本概念,6-2 SQL語(yǔ)言查詢(xún),一.簡(jiǎn)單查詢(xún) 簡(jiǎn)單查詢(xún)是指查詢(xún)
5、的內(nèi)容來(lái)源于一個(gè)表文件。舉例,1.顯示學(xué)生表中所有記錄、所有字段 select all * from 學(xué)生表 或 sele * from 學(xué)生表 2.顯示成績(jī)表中按學(xué)號(hào)排列的前10條記錄、所有字段sele * top 10 from 成績(jī)表 order by 學(xué)號(hào)3.顯示成績(jī)表中前10%條記錄、部分字段(學(xué)號(hào), 課程編號(hào),成績(jī))、按成績(jī)降序sele top 10 percent 學(xué)號(hào),課程編號(hào),成績(jī) from 成績(jī)
6、表 order by 成績(jī) desc4.顯示學(xué)生表中所有記錄的姓名、院系、年齡,按年齡降序Sele 姓名,院系,2007-year(出生日期) AS 年齡 from 學(xué)生表 order by 年齡 desc5.計(jì)算學(xué)生表中所有學(xué)生的入學(xué)成績(jī)的平均分、最高分、最低分sele avg(入學(xué)成績(jī)) as 平均入學(xué)成績(jī),max(入學(xué)成績(jī)) as 最高成績(jī),min(入學(xué)成績(jī)) as 最低成績(jī) from 學(xué)生表6.顯示成績(jī)表中所有不及
7、格的學(xué)生的學(xué)號(hào)、課程編號(hào)、成績(jī)Sele 學(xué)號(hào)、課程編號(hào)、成績(jī) from 成績(jī)表 where 成績(jī)<60,1、聯(lián)接及其類(lèi)別聯(lián)接是關(guān)系的橫向結(jié)合。關(guān)系聯(lián)接的類(lèi)別等值聯(lián)接:按字段值對(duì)應(yīng)相等為條件進(jìn)行的聯(lián)接超聯(lián)接:保證一個(gè)表中滿(mǎn)足條件的記錄在結(jié)果中,然后與另一表進(jìn)行聯(lián)接.2、聯(lián)接查詢(xún)的實(shí)現(xiàn)(1)等值聯(lián)接:將聯(lián)接條件寫(xiě)入WHERE子句中,from后寫(xiě)要聯(lián)接的兩個(gè)表名例:查詢(xún)學(xué)生表和成績(jī)表中所有學(xué)生的信息。 s
8、ele * from 學(xué)生表,成績(jī)表 where 學(xué)生表.學(xué)號(hào)=成績(jī)表.學(xué)號(hào) order by 學(xué)生表.學(xué)號(hào)例:找出成績(jī)?cè)?0分以上的學(xué)生的學(xué)號(hào)、姓名、課程名稱(chēng)及成績(jī),按學(xué)號(hào)升序排列。 sele 學(xué)生表.學(xué)號(hào),姓名,課程名稱(chēng),成績(jī) from 學(xué)生表,成績(jī)表,選課表 where 學(xué)生表.學(xué)號(hào)=成績(jī)表.學(xué)號(hào) and 成績(jī)表.課程編號(hào)=選課表.課程編號(hào) and 成績(jī)〈60 order by 學(xué)生表.學(xué)號(hào),二、聯(lián)接查詢(xún)
9、 是指查詢(xún)內(nèi)容來(lái)源于兩個(gè)或兩個(gè)以上的表,6-2 SQL語(yǔ)言查詢(xún),(2)超聯(lián)接查詢(xún)超聯(lián)接的四種形式:左聯(lián)接:結(jié)果包含第一個(gè)表中所有的記錄,用LEFT JOIN表示右聯(lián)接:結(jié)果包含第二個(gè)表中所有的記錄,用RIGHT JOIN表示內(nèi)部聯(lián)接:取兩個(gè)表中的公共記錄,用INNER JOIN表示(也可以用where 篩選條件)完全聯(lián)接:取兩個(gè)表中的記錄的并集,用FULL JOIN表示超聯(lián)接語(yǔ)句:SELECT …. FROM 表
10、名1 聯(lián)接形式 表名2 on 聯(lián)接條件例:對(duì)學(xué)生表和成績(jī)表進(jìn)行超聯(lián)接的結(jié)果sele * from 學(xué)生表 left join 成績(jī)表 on 學(xué)生表.學(xué)號(hào)=成績(jī)表.學(xué)號(hào),6-2 SQL語(yǔ)言查詢(xún),四、篩選條件選項(xiàng) 由where引導(dǎo),條件可以是:關(guān)系運(yùn)算邏輯值字段名 BETWEEN …AND …字段名 LIKE 通配符 (%代表一串字符,_表示一個(gè)字符)字段名 IS NULL例題:顯示入學(xué)成績(jī)?cè)?50分以上的前
11、3名的學(xué)生信息sele top 3 * from 學(xué)生表 where 入學(xué)成績(jī)>450 order by 入學(xué)成績(jī) desc顯示顯示入學(xué)成績(jī)?cè)?00-500分之間以上的后3名的學(xué)生信息sele top 3 * from 學(xué)生表 where 入學(xué)成績(jī) betw 450 and 500 order by 入學(xué)成績(jī),6-2 SQL語(yǔ)言查詢(xún),五、分組條件選項(xiàng) 由group by 引導(dǎo),GROUP BY 字段表:按指定的字段分類(lèi)(多個(gè)
12、字段時(shí)按兩個(gè)字段組合分組)HAVING 條件:只顯示符合條件的組使用分組統(tǒng)計(jì)時(shí),一般要用GROUP BY 子句例題:按院系分類(lèi)匯總?cè)雽W(xué)成績(jī)sele 院系,sum(入學(xué)成績(jī)) as 入學(xué)成績(jī)總分 from 學(xué)生表 group by 院系 order by 入學(xué)成績(jī)總分 desc注意:若只有HAVING語(yǔ)句而無(wú)GROUP BY語(yǔ)句,則HAVING語(yǔ)句相當(dāng)于WHERE語(yǔ)句。,6-2 SQL語(yǔ)言查詢(xún),六、排序依據(jù)選項(xiàng) 由o
13、rder by 引導(dǎo),ORDER BY 字段表:按指定的字段排序,可用多個(gè)字段進(jìn)行多重排序,七、查詢(xún)?nèi)ハ蜻x項(xiàng),INTO CURSOR 臨時(shí)表名——送臨時(shí)表INTO TABLE 表名——送表TO FILE 文件名 [ADDITIVE]——送文本文件TO PRINT ——送打印機(jī)TO SCREEN——送屏幕,6-2 SQL語(yǔ)言查詢(xún),練習(xí)題,用SQL語(yǔ)言寫(xiě)出滿(mǎn)足下列查詢(xún)的命令:1.查詢(xún)每個(gè)學(xué)生的姓名、院系、平均成績(jī),并按平均成
14、績(jī)降序排序。2.查詢(xún)每門(mén)課程的課程名稱(chēng)、平均成績(jī),并按平均成績(jī)降序排序。3.查詢(xún)學(xué)生表、成績(jī)表、選課表中補(bǔ)考的學(xué)生的姓名、院系、課程名稱(chēng)、成績(jī),并按院系升序排列,生成補(bǔ)考學(xué)生表。,問(wèn)題:顯示入學(xué)成績(jī)?cè)谄骄煽?jī)以上的學(xué)號(hào),姓名,院系,入學(xué)成績(jī)解決:第一步:求平均成績(jī) sele avg(入學(xué)成績(jī)) from 學(xué)生表 (假如值為476.78) 第二步:顯示在入學(xué)
15、成績(jī)平均成績(jī)以上的學(xué)號(hào),姓名,院系,入學(xué)成績(jī) sele 學(xué)號(hào),姓名,院系,入學(xué)成績(jī) from 學(xué)生表 where 入學(xué)成績(jī)>476.78合并: sele 學(xué)號(hào),姓名,院系,入學(xué)成績(jī) from 學(xué)生表 where 入學(xué)成績(jī)> ( sele avg(入學(xué)成績(jī)) from 學(xué)生表) 特點(diǎn):在SQL語(yǔ)句內(nèi)還有SQL語(yǔ)句的,稱(chēng)為嵌套查詢(xún)。書(shū)寫(xiě)要求:內(nèi)層查詢(xún)要用括號(hào)括起來(lái)。
16、,八、嵌套查詢(xún),6-2 SQL語(yǔ)言查詢(xún),內(nèi)外查詢(xún)使用不同的表例1:顯示計(jì)算機(jī)系學(xué)生的學(xué)號(hào),成績(jī)sele 學(xué)號(hào),成績(jī) from 成績(jī)表 where 學(xué)號(hào) in (sele 學(xué)號(hào) from 學(xué)生表 where 院系='計(jì)算機(jī)')例2:顯示成績(jī)沒(méi)有不及格的學(xué)生的院系、學(xué)號(hào)、姓名,并按院系升序Sele 院系,學(xué)號(hào),姓名from 學(xué)生表 where not 學(xué)號(hào) in (sele 學(xué)號(hào) from 成績(jī)表 where 成績(jī)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2018年研究生入學(xué)成績(jī)復(fù)核申請(qǐng)表
- 大學(xué)成績(jī)單
- 學(xué)號(hào)
- 青島農(nóng)業(yè)大學(xué)2019年研究生入學(xué)成績(jī)復(fù)核申請(qǐng)表
- 初中數(shù)學(xué)成績(jī)反思作文
- 中學(xué)教學(xué)成績(jī)考核方案
- 教師教學(xué)成績(jī)?cè)u(píng)價(jià)方案
- “會(huì)學(xué)”方能提高數(shù)學(xué)成績(jī)
- 安徽工程大學(xué)成績(jī)單
- 如何快速提高初中數(shù)學(xué)成績(jī)
- 教師檢討之教學(xué)成績(jī)差
- 試論痕跡檢驗(yàn)學(xué)成績(jī)?cè)u(píng)定方式
- 如何快速提高初中數(shù)學(xué)成績(jī)
- 如何提高中考化學(xué)成績(jī)
- 實(shí)驗(yàn)教學(xué)成績(jī)?cè)u(píng)價(jià)辦法
- 基于陜西省研究生入學(xué)考試數(shù)學(xué)成績(jī)的統(tǒng)計(jì)研究與分析.pdf
- 四川大學(xué)公共管理學(xué)院2018年圖書(shū)情報(bào)專(zhuān)業(yè)招生入學(xué)成績(jī)公示(含政治成績(jī))
- 如何提高小學(xué)數(shù)學(xué)教學(xué)成績(jī)
- 如何快速提高學(xué)生的數(shù)學(xué)成績(jī)
- 麻界小學(xué)成績(jī)分析報(bào)告
評(píng)論
0/150
提交評(píng)論