




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
7.1數據庫系統概述7.2數據庫的建立和維護7.3數據庫查詢7.4
窗體、報表第七章數據庫基礎典型案例無紙化通用考試系統
大學計算機基礎VisualBasic程序設計
C/C++程序設計軟件技術基礎應用程序數據庫管理系統VBVC++PowerBuilder
Delphi
ACCESSSQLSERVERORACLEFOXPROSQL命令數據庫引摯數據庫信息化社會離不開信息系統 信息系統的核心和基礎是數據庫2計算機基礎教育網站
http://IEHTM、ASP客戶機服務器SQL命令數據庫發出請求響應請求數據37.1.1常用術語7.1.2數據庫技術的產生和發展7.1.3數據模型7.1.4
常見的數據庫系統及其開發工具7.1數據庫系概述7.1.1常用術語1.數據庫(DataBase,DB)長期保存在計算機外存上的、有結構的、可共享的數據集合。2.數據庫管理系統(DataBaseManagementSystem,DBMS)對數據庫進行管理的軟件系統。數據庫的一切操作,如查詢、更新、插入、刪除以及各種控制,都是通過DBMS進行的。DBMS是位于用戶(或應用程序)和操作系統之間的軟件。借助于操作系統實現對數據的存儲和管理,使數據能被各種不同的用戶所共享,DBMS提供給用戶可使用的數據庫語言。3.應用程序(DataBaseSystem,DBS)利用各種開發工具開發的、滿足特定應用環境的數據庫應用程序。用戶應用程序DBMS操作系統數據庫DB數據庫系統57.1.1常用術語4.數據庫系統相關人員數據庫管理員應用程序開發人員最終用戶5.數據庫系統(DataBaseSystem,DBS)由硬件系統、數據庫管理系統、數據庫、數據庫應用程序、數據庫系統相關人員等構成的人-機系統。數據庫產品(一整套數據庫應用解決方案
)桌面型數據庫網絡數據庫MSAccessSQLServerOracleMySql67.1.2數據庫技術的產生和發展數據管理技術經歷了三個發展階段人工管理階段文件管理階段數據庫系統階段71.人工管理階段時間:20世紀50年代中期以前
硬件:只有卡片、紙帶、磁帶等存儲設備軟件:沒有操作系統,沒有進行數據管理的軟件應用:以科學計算為目的特點:程序和數據放在一起數據不能共享特征圖程序1數據1程序2數據2程序n數據n……8人工管理階段數據管理示例例:兩個C語言程序,分別求10個數據之和和最大值。 程序與數據放在一起,數據沒有能夠共享92.文件系統階段時間:20世紀60年代中期硬件:磁帶、磁盤等大容量存儲設備軟件:有了操作系統應用:不僅用于科學計算,還用于數據管理.特點:程序與數據分離數據有一定的獨立性實現了以文件為單位的數據共享特征圖數據文件1…文件管理系統數據文件n應用程序1應用程序2應用程序n…數據文件210文件系統階段數據管理示例上例用文件實現113.數據庫系統階段時間:20世紀60年代后期硬件:出現了大容量且價格低廉的磁盤軟件:有了數據庫管理系統DBMS應用:各個方面.特點:數據結構化數據共享性高,冗余小數據獨立性高數據由DBMS統一管理控制為用戶提供了友好的接口特征圖12數據庫系統階段數據管理示例解決了數據的獨立性問題,實現數據的統一管理,
達到數據共享的目的
求和:SELECTMax(Num)FROMData 求最大值:SELECTAvg(Num)FROMData13數據庫系統的特點(1)采用一定的數據模型,最大限度地減少數據的冗余(2)最低的冗余度(3)有較高的數據獨立性用戶面對的是簡單的邏輯結構操作而不涉及數據具體的物理存儲結構(4)安全性設置用戶的使用權限在數據庫被破壞時,系統可把數據庫恢復到可用狀態。(5)完整性一些完整性檢驗以確保數據符合某些規則,保證數據庫中數據始終是正確的。14數據庫倉庫系統數據倉庫技術是目前數據處理中發展十分迅速的一個分支。所謂“數據倉庫”,就是一種長期數據存儲,這些數據來自于多個異種數據源。實現多維數據分析,以便向管理決策提供支持。數據倉庫系統允許將各種應用系統集成在一起,為統一的歷史數據分析提供堅實的平臺,對信息處理進行支持。目前數據倉庫已經成為數據分析和聯機分析處理日趨重要的平臺。15數據庫倉庫系統數據倉庫的主要特征如下:(1)面向主題性:圍繞某一主題建模和分析;(2)集成性:將多個異種數據源以及事務記錄集成在一起;(3)時變性:數據存儲從歷史的角度提供信息;(4)非易失性:總是物理地分離存放數據。16數據庫倉庫系統和數據庫的區別(1)面向的用戶不同。數據庫系統面向使用單位的低層人員,用于日常數據的分析和處理;數據倉庫系統面向使用單位決策人員,提供決策支持。(2)數據內容不同。數據庫系統存儲和管理的是當前的數據;數據倉庫系統存儲的是長期積累的歷史數據。
17數據庫倉庫系統和數據庫的區別(3)數據來源不同。數據庫的數據一般來源于同種數據源,而數據倉庫的數據可以來源于多個異種數據源。(4)數據的操作不同。數據庫系統提供了執行聯機事務和查詢處理(OLTP,On-LineTransactionProcessing)系統。數據倉庫系統主要提供了數據分析和決策支持(OLAP,On-LineAnalyticalProcessing)系統,實現數據挖掘和知識發現。187.1.3數據模型
數據模型1數據庫不僅要反映數據本身的內容,而且要反映數據之間的聯系。由于計算機不可能直接處理現實世界中的具體事物,所以人們必須首先把具體事物轉換成計算機能夠處理的數據。在數據庫中用數據模型這個工具來抽象、表示和處理現實世界中的數據和信息。通俗地講,數據模型就是現實世界的模擬,是現實世界數據特征的抽象。現有的數據庫系統均是基于某種數據模型的。因此,數據模型是數據庫系統的核心和基礎。各種計算機上實現的DBMS軟件都是基于某種數據模型的。197.1.3數據模型
數據模型應滿足三方面要求:1)一是能比較真實地模擬現實世界;2)二是容易為人所理解;3)三是便于在計算機上實現。一種數據模型要很好地滿足這三方面的要求在目前尚很難。在數據庫系統中,針對不同的使用對象和應用目的采用不同的數據模型。不同的數據模型實際上是提供給我們模型化數據和信息的不同工具。207.1.3數據模型
根據模型應用的目的不同,可以將這些模型劃分為兩類,它們分屬于兩個不同的層次。1)第一類模型是概念模型(也稱信息模型)它是按用戶的觀點來對數據和信息建模,主要用于數據庫設計。2)另一類是數據模型主要包括網狀模型、層次模型、關系模型,新興的數據庫技術上還使用了面向對象的模型等,它是按計算機系統的觀點對數據建模,主要用于DBMS的實現。217.1.3數據模型
為了把現實世界中的具體事物抽象、組織為某一DBMS支持的數據模型,人們常常首先將現實世界抽象為信息世界,然后將信息世界轉換為機器世界。也就是說,首先把現實世界中的客觀對象抽象為某一種信息結構,這種信息結構并不依賴于具體的計算機系統,不是某一個DBMS支持的數據模型,而是概念級的模型,然后把概念級的模型轉換為計算機上某一DBMS支持的數據模型。227.1.3數據模型
三種重要的數據模型①層次模型用樹型結構來表示實體及實體間的聯系
例如:1968年,IBM公司的IMS(InformationManagementSystem)②網狀模型用網狀結構來表示實體及實體間的聯系
例如:DBTG系統
注:1969年美國CODASYL組織提出了一份“DBTG報告”,
以后根據DBTG報告實現的系統一般稱為DBTG系統③關系模型用一組二維表表示實體及實體間的關系
例如:MicrosoftAccess
注:理論基礎是1970年IBM公司研究人員E.F.Codd發表的大量論文。目前應用最廣泛的是關系數據模型23關系模型
關系模型把世界看作是由實體(Entity)和聯系(Relationship)構成的。所謂實體是指現實世界中具有區別于其他事物的特征或屬性并與其他實體有聯系的對象。在關系模型中實體通常是以表的形式來表現的。表的每一行描述實體的一個實例,表的每一列描述實體的一個特征或屬性。24關系模型
聯系:所謂聯系是指實體之間的關系,即實體之間的對應關系。聯系可以分為三種:1)一對一的聯系。如:一個班級只有一個班長,同樣,每個班長屬于一個班級,班長→班級為一對一關系;2)一對多的聯系。如:每個班的人有許多個,班級→人為一對多關系;3)多對多的聯系。如:每個人可修多門課程,反之,每門課程可有多人選修,課程→人為多對多聯系。
25關系模型Students表屬性名(字段名)屬性值(字段值)男張智忠學號姓名性別黨員專業出生年月助學金990001王濤男No物理82-01-21¥160.00990002莊前女Yes物理82-09-21¥200.00990101丁保華男No數學81-04-18¥180.00990102姜沛棋女No數學81-12-02¥280.00No數學80-08-06¥240.00990201程玲女Yes計算機82-11-14¥200.00990202黎敏艷女Yes計算機83-02-21¥160.00990103記錄
關鍵字唯一確定一條記錄
關系(二維表)值域:{男,女}將數據組織成一組二維表格26學號課程成績990001計算機文化基礎82990001高等數學76990002計算機文化基礎90990101高等數學77990102計算機文化基礎68990102C/C++程序設計85990102大學英語56990201計算機導論87990201高等數學67990202計算機導論53990203英語71990204計算機導論66990204高等數學75990204英語82271.術語
關系:一個關系一張二維表關系模式:
Students(學號,姓名,性別,黨員,專業,出生年月,助學金,照片)
Scores(學號,課程,成績)記錄:表中的一行屬性(字段):表中的一列關鍵字:某個屬性可以惟一地確定記錄主鍵:在實際的應用中只能選擇一個值域:屬性的取值范圍282.關系必須規范化:表中不能再包含表工資表(不滿足關系模型要求)工號姓名工資應發工資實發工資91026王建春1656148897045楊建兵18321764工資表(滿足關系模型要求)工號姓名應發工資實發工資91026王建春1656148897045楊建關系的種類①基本表如表Students和Scores②查詢表查詢表是查詢結果表
查詢中生成的臨時表。③視圖視圖是由基本表或其他
視圖導出的表。學號姓名課程成績990001王濤計算機文化基礎82990001王濤高等數學76990002莊前計算機文化基礎90990101丁保華高等數學77990102姜沛棋計算機文化基礎68990102姜沛棋C/C++程序設計85990102姜沛棋大學英語56990201程玲計算機導論87990201程玲高等數學67990202黎敏艷計算機導論53990203鄧倩梅英語71990204楊夢逸計算機導論66990204楊夢逸高等數學75990204楊夢逸英語82來自表Students和Scores的查詢表
30表間關系2.一對多關系3.多對多關系1.一對一關系如果對于實體集A中的每個實體,實體集B中最多有一個實體(也可以沒有)與之聯系,反之亦然,則稱實體集A與實體集B具有一對一的關系。311.一對一關系3.多對多關系2.一對多關系如果對于實體集A中的每個實體,實體集B中有多個實體與之聯系,反之,對于實體集B中的每個實體,實體集A中有最多有一個實體與之聯系,則稱實體集A與實體集B具有一對多的關系。表間關系322.一對多關系1.一對一關系3.多對多關系如果對于實體集A中的每個實體,實體集B中有多個實體與之聯系,反之,對于實體集B中的每個實體,實體集A中也有多個實體與之聯系,則稱實體集A與實體集B具有多對多的關系。表間關系33應用程序VBVCPowerBuilder
Delphi
MicrosoftAccessSQLServerOracleVisualFoxProSQL命令數據庫常見數據庫系統開發工具:VisualBasicVisualC++PowerBuiderDelphi常見的數據庫管理系統:MicrosoftAccessSQLServerOracleVisualFoxPro常見的數據庫應用系統及開發工具34數據庫系統運行模式:客戶機/服務器模式(Client/Server,C/S
)瀏覽器/服務器模式(Browser/Server,B/S)1.C/S模式例如:OutlookExpressQQ大智慧股票軟件應用:基于行業的數據庫應用系統7.1.4數據庫系統及其開發技術35應用程序VBVCPowerBuilder
Delphi
MicrosoftAccessSQLServerOracleVisualFoxProSQL命令數據庫常見數據庫系統開發工具:VisualBasicVisualC++PowerBuiderDelphi常見的數據庫管理系統:MicrosoftAccessSQLServerOracleVisualFoxPro常見的數據庫應用系統及開發工具362.瀏覽器/服務器模式例如:IE收到郵件新浪上查看股票信息
Internet上的購物系統、訂票系統應用:特別適合非特定的用戶開發技術:ASPPHPJSPASP.NET
37兩種模式比較各有其優缺點B/S模式可以認為是C/S模式的一種特例
C/S模式缺點:C/S模式維護、升級煩瑣優點:響應速度快,功能完善B/S模式
缺點:響應速度慢,功能不是很完善。優點:維護、升級簡單
38學號姓名性別黨員專業出生年月990001王濤男No物理82-01-21990002莊前女Yes物理82-09-21990101丁保華男No數學81-04-18990102姜沛棋女No數學81-12-02990103張智忠男No數學80-08-06990201程玲女Yes計算機82-11-14990202黎敏艷女Yes計算機83-02-21990203鄧倩梅女Yes計算機82-04-28990204楊夢逸女No計算機81-12-15學號課程成績990001大學計算機基礎82990001高等數學76990202計算機導論53990203英語71990204計算機導論66990204高等數學75990204英語82學生成績表學生基本情況表學號姓名課程成績990001王濤計算機文化基礎82990001王濤高等數學76990002莊前計算機文化基礎90990101丁保華高等數學77990102姜沛棋計算機文化基礎68990102姜沛棋C/C++程序設計85990102姜沛棋大學英語56990201程玲計算機導論87990201程玲高等數學67990202黎敏艷計算機導論53990203鄧倩梅英語71990204楊夢逸計算機導論66990204楊夢逸高等數學75990204楊夢逸英語8239數據庫設計數據庫設計步驟一、設計原則概念單一化“一事一地”的原則避免在表之間出現重復字段表中的字段必須是原始數據和基本數據元素用外部關鍵字保證有關聯的表之間的聯系40
數據庫設計概念設計需求分析要做個什么東西信息需求處理需求安全性和完整性需求主要的完成成果是:數據流圖和數據字典(需求分析報告)物理設計邏輯設計41
數據庫設計概念設計需求分析
概念設計是由分析用戶需求到生成概念產品的一系列有序的、可組織的、有目標的設計活動,它表現為一個由粗到精、由模糊到清晰、由具體到抽象的不斷進化的過程。概念設計即是利用設計概念并以其為主線貫穿全部設計過程的設計方法。概念設計是完整而全面的設計過程,它通過設計概念將設計者繁復的感性和瞬間思維上升到統一的理性思維從而完成整個設計。主要有2中方法完成1、自頂向下法和自底向上法主要的完成成果是:E-R圖物理設計邏輯設計42
數據庫設計概念設計需求分析數據庫物理設計是后半段。將一個給定邏輯結構實施到具體的環境中時,邏輯數據模型要選取一個具體的工作環境,這個工作環境提供了數據存儲結構與存取方法,這個過程就是數據庫的物理設計。物理結構依賴于給定的DBMS和和硬件系統,因此設計人員必須充分了解所用DBMS的內部特征、存儲結構、存取方法。數據庫的物理設計通常分為兩步,物理設計邏輯設計43
數據庫設計概念設計需求分析
確定數據庫的物理結構包含下面四方面的內容:1、確定數據的存儲結構2、設計數據的存取路徑3、確定數據的存放位置4、確定系統配置數據庫物理設計過程中需要對時間效率、空間效率、維護代價和各種用戶要求進行權衡,選擇一個優化方案作為數據庫物理結構。
物理設計邏輯設計44數據庫管理系統(DBMS)數據庫管理系統(databasemanagementsystem)是一種操縱和管理數據庫的大型軟件,是用于建立、使用和維護數據庫,簡稱dbms。它對數據庫進行統一的管理和控制,以保證數據庫的安全性和完整性。用戶通過dbms訪問數據庫中的數據,數據庫管理員也通過dbms進行數據庫的維護工作。它提供多種功能,可使多個應用程序和用戶用不同的方法在同時或不同時刻去建立,修改和詢問數據庫。它使用戶能方便地定義和操縱數據,維護數據的安全性和完整性,以及進行多用戶下的并發控制和恢復數據庫。457.2數據庫的建立和維護Access的特點是Office的組件之一具有對數據進行存儲、管理、處理等常規功能直觀的可視化操作操作工具和向導豐富的函數功能46實例創建表Students。Students的結構字段名稱字段類型字段寬度學號Text6個字符姓名Text4個字符性別Text1個字符黨員Yes/No1個二進制位專業Text20個字符出生年月Date/Time8字節助學金Currency8字節照片OLEObject不確定477.2.1Access數據庫的組成
表:最基本的對象,表及其表之間的關系構成數據庫的核心查詢:從表(或查詢)中選擇一部分數據,形成一個全局性的集合窗體:用戶與數據庫交互的界面,窗體的數據源是表或查詢報表:按指定的樣式格式化的數據形式宏:若干個操作的組合模塊:用戶用VB語言編寫應用程序Web頁:向Internet上發布數據這些不同類型的對象集合構成了一個數據庫文件,以.mdb存儲在盤上.487.2.2Access數據庫的建立
字段數據類型有10種字段屬性大小、小數位、格式
確定表的結構
建立一個空數據庫,輸入文件名使用設計器或向導創建表,進入設計視圖,輸入各個字段的信息建立表的索引定義主鍵輸入表的名稱保存表主要方法:數據庫向導(模板)或設計視圖,一般用后者49Access數據庫的建立
3.定義表的結構
1.建立空數據庫2.使用設計器或向導507.2.3數據庫的管理與維護選定基本表,進入數據表視圖,輸入編輯數據
添加新記錄1.數據輸入
51注意:打開的表或正在使用的表是不能修改的.修改字段名稱不會影響到字段中所存放的數據,但是會影響到一些相關的部分。如果查詢、報表、窗體等對象使用了這個更換名稱的字段,那么在這些對象中也要作相應的修改。關系表中互相關聯的字段是無法修改的,如果需要修改,必須先將關聯去掉選定基本表,進入設計視圖,修改表結構2.表結構的修改523.數據的導出和導入導出操作可以將表中數據以另一種文件格式保存在磁盤上導入操作是導出操作的逆操作4.表的復制、刪除、恢復和更名類似于Windows中對文件或文件夾的操作注意在進行這些操作之前,必須關閉有關的表操作必須在“數據庫”窗口中完成537.2.4Access表達式1.常用運算符
類型運算符算術運算符+-*/^(乘方)\(整除)MOD(取余數)關系運算符<<=<>>>=BetweenLike邏輯運算符NotAndOr字符運算符&說明: (1)字符型數據用雙引號"或單引用'括起來。如"abcde123" 日期型數據用#括起來。例如#10/12/2000#
(2)MOD是取余數運算符 例如,5MOD3的結果為2。
54(3)Between運算符 格式:<表達式1>Between<表達式2>And<表達式3> 3Between1And10:True 3Between1And2:False,
(4)可使用通配符:*和? 查找姓“張”的學生:姓名Like"張*" 查找不是姓“張”的學生:姓名NotLike"張*"(5)&用于連接兩個字符串。 "ABC"&"1234"的結果是"ABC1234"552.常用內部函數函數名說明實例結果Date()返回系統日期Date()#5/4/2003#Year(D)返回年份Year(#12/1/1982#)19823.表達式和表達式生成器567.2.5SQL中的數據更新命令結構化查詢語言SQL是操作關系數據庫的工業標準語言在SQL中,常用的語句有兩類:數據查詢命令SELECT數據更新命令INSERT、UPDATE、DELETEINSERT命令用于數據插入其語法格式為:
插入一條記錄
INSERTINTO
表名[(字段1,…,字段n)]VALUES(值1,…,值n)
插入查詢的結果
INSERTINTO
表名(字段1,…,字段n)VALUES
子查詢57INSERT命令實例例7.3向表Students中插入一條記錄INSERTINTOStudents(學號,姓名,性別,黨員,專業,出生年月,助學金) VALUES("990301","楊國強","男",TRUE,"化學",#12/28/80#,220)注意:字符型常量用單引號或雙引號括起來邏輯型字段的值是True/False、Yes/No或On/Off日期的表示形式為MM/DD/YY或MM/DD/YYYY58例7.4向表Scores插入記錄(990301,大學計算機基礎,98)
INSERTINTOScoresVALUES("990301","大學計算機基礎",98)直接執行SQL語句的方法①切換到“查詢”頁。②創建一個空查詢。③切換到SQL視圖。④輸入SQL命令,如右圖所示。⑤執行查詢⑥查看結果。
59DELETE語句例7.5刪除表Students中所有學號為990301的記錄DELETEFROMStudentsWHERE學號=“990301”例7.6刪除表Scores中成績低于70分的記錄DELETEFROMScoresWHERE成績<70DELETE語句用于數據刪除其語法格式為:DELETEFROM
表[WHERE條件]注意:
WHERE子句缺省,則刪除表中所有的記錄(表還在)60UPDATE語句例7.7將表Students中學生王濤的姓名改為王寶UPDATEStudentsSET姓名=“王寶”WHERE姓名="王濤"例7.8將表Students中助學金低于200的學生加30元UPDATEStudentsSET助學金=助學金+30WHERE助學金<200UPDATE語句用于數據修改其語法格式為:UPDATE
表
SET字段1=表達式1,…,字段n=表達式n[WHERE條件]
注意:
WHERE子句缺省,則修改表中所有的記錄UPDATE語句一次只能對一個表進行修改
617.3數據庫的查詢數據查詢是數據庫的核心操作不管采用何種工具創建查詢,Access都會在后臺構造等效的SELECT語句執行查詢實質就是運行了相應的SELECT語句。
SQL(StructureQueryLanguage):結構化查詢語言分類SQL語句數據查詢SELECT數據更新語句INSERT
UPDATE
DELETE627.3.1SELECT語句
語法形式為:SELECT[ALL|DISTINCT]目標列FROM表(或查詢)-基本部分,選擇字段
[WHERE條件表達式] -選擇滿足條件的記錄
[GROUPBY列名1HAVING過濾表達式] -分組并且過濾
[ORDERBY列名2[ASC|DESC]] -排序
不可缺少可缺省功能
根據WHERE中表達式,從指定的表(或查詢)中找出滿足條件的記錄,按目標列顯示數據GROUPBY子句按列名1的值進行分組,每一組產生一條記錄,HAVING子句對分組后的結果過濾ORDERBY子句按列名2對查詢結果的值進行排序不能出現重復的記錄63合計函數
描述AVG(列名)計算某一列的平均值COUNT(*)統計記錄的個數COUNT(列名)統計某一列值的個數SUM(列名)計算某一列的總和MAX(列名)計算某一列的最大值MIN(列名)計算某一列的最小值如果沒有GROUPBY子句,合計函數對整個表進行統計,產生一條記錄,否則按分組統計,一組產生一條記錄SQL合計函數:641.選擇字段
例7.9查詢所有學生的學號、姓名、性別和專業
SELECT學號,姓名,性別,專業FROMStudents說明:若要查詢所有學生的基本情況(所有字段),則可以用*表示所有的字段: SELECT*FROMStudents例7.10查詢所用的專業,查詢結果中不出現重復的記錄
SELECTDISTINCT專業FROMStudents;用DISTINCT沒有用DISTINCT65例7.11使用合計函數,查詢學生人數、最低助學金、最高助學金和平均助學金SELECT Count(*)AS人數, Min(助學金)AS最低助學金, Max(助學金)AS最高助學金, Avg(助學金)AS平均助學金FROMStudents可改為Count(學號)用AS子句指定別名本例產生一條記錄66例7.12查詢學生的人數和平均年齡SELECTCount(*)AS人數, Avg(Year(Date())-Year(出生年月))AS平均年齡FROMStudents系統日期得到年份
672.選擇記錄例7.13顯示所有非計算機專業學生的學號、姓名和年齡
SELECT學號,姓名,Year(Date())-Year(出生年月)AS年齡FROMStudentsWHERE專業<>"計算機"查詢條件例7.14查詢1981年(包括1981年)以前出生的女生姓名和出生年月。SELECT姓名,出生年月
FROMStudentsWHERE出生年月<#1/1/1982#AND性別="女"可用#MM/DD/YYYY#的形式表示日期683.排序ORDERBY子句用于順序 ASC:表示升序 DESC:表示降序。例7.15查詢所有黨員學生的學號和姓名,并按助學金從小到大排序。SELECT學號,姓名FROMStudentsWHERE黨員=TrueORDERBY助學金可用多個關鍵字排序。例如,ORDERBY專業ASC,助學金DESC專業是第一排序關鍵字,助學金是第二排序關鍵字。694.分組查詢(1)簡單分組把在某一列上值相同的記錄分在一組,一組產生一條記錄。例7.16查詢每個專業學生人數。SELECT專業,Count(*)AS學生人數FROMStudentsORDERBY專業將專業相同的記錄分在一組。70(2)復雜分組把在多個列上值相同的記錄分在一組,一組產生一條記錄。例7.17查詢各專業男女生的平均助學金SELECT專業,性別,Avg(助學金)AS平均助學金FROMStudentsGROUPBY專業,性別將專業和性別都相同的記錄分在一組。71(3)分組后過濾HAVING子句對分組后的結果過濾,不是對分組之前的表進行過濾。沒有GROUPBY子句時,HAVING的作用等同于WHERE子句。HAVING后的過濾條件中一般都要有合計函數。例7.18查詢有2門課程成績在75以上的學生的學號和課程數。SELECT學號,Count(*)AS課程數FROMScoresWHERE成績>=75GROUPBY學號HAVINGCount(*)>=2725.連接查詢WHERE條件,在兩表中有相同的屬性值例7.19查詢所有學生的學號、姓名、課程和成績
SELECTStudents.學號,Students.姓名,Scores.課程,Scores.成績FROMStudents,Scores
WHEREStudents.學號=Scores.學號自動生成語句:SELECTStudents.學號,Students.姓名,Scores.課程,Scores.成績FROMStudentsINNERJOINScoresONStudents.學號=Scores.學號兩個表
連接條件
73表的連接
連接結果
74例7.20查詢選修了“高等數學”課程的學生的學號、姓名和成績。用條件“Students.學號=Scores.學號”進行連接,然后進行選擇,SELECTStudents.學號,Students.姓名,Scores.成績FROMStudents,ScoresWHEREStudents.學號=Scores.學號AND
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單位房屋租賃合同書
- 2025西安美術學院輔導員考試試題及答案
- 2025遼寧理工學院輔導員考試試題及答案
- 2025鹽城工業職業技術學院輔導員考試試題及答案
- 2025赤峰學院輔導員考試試題及答案
- 2025福建水利電力職業技術學院輔導員考試試題及答案
- 江蘇蘇州凌曄進出口有限公司招聘筆試題庫2025
- 內蒙古賽一建建筑工程有限公司招聘筆試題庫2025
- 四川綿陽愛聯科技股份有限公司招聘筆試題庫2025
- 社區矯正集中教育
- 《隧道測量》課件
- 【MOOC】線性代數-浙江大學 中國大學慕課MOOC答案
- 小腸破裂表現與治療
- 《痤瘡與抗痤瘡藥》課件
- 銀行員工反洗錢知識培訓
- 電瓶車以租代購協議書范文范本
- 2024秋期國家開放大學本科《中國法律史》一平臺在線形考(第一至三次平時作業)試題及答案
- 工業化國家的社會變化 統編版九年級歷史下冊
- 人教版初中九年級全冊英語單詞表(完整版)
- 蘇教版五年級上冊數學簡易方程練習100道及答案
- 廣東省佛山市華英學校2023-2024學年上學期七年級入學分班考試英語試卷
評論
0/150
提交評論