




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第2章 SQL語(yǔ)言初步 第第2章章 SQL語(yǔ)言初步語(yǔ)言初步 2.1 SQL的基本概念的基本概念 2.2 基本表、索引的創(chuàng)建、刪除和修改操作基本表、索引的創(chuàng)建、刪除和修改操作 2.3 SQL的查詢(xún)語(yǔ)句的查詢(xún)語(yǔ)句SELECT 2.4 含有子查詢(xún)的數(shù)據(jù)更新含有子查詢(xún)的數(shù)據(jù)更新 2.5 視圖視圖 第2章 SQL語(yǔ)言初步 2.1 SQL的基本概念的基本概念 SQL支持?jǐn)?shù)據(jù)庫(kù)的三級(jí)模式結(jié)構(gòu),如圖21所示。從圖中可以看出,模式與基本表相對(duì)應(yīng),外模式與視圖相對(duì)應(yīng),內(nèi)模式對(duì)應(yīng)于存儲(chǔ)文件?;颈砗鸵晥D都是關(guān)系。第2章 SQL語(yǔ)言初步 圖21 SQL支持的數(shù)據(jù)庫(kù)模式 SQL用戶(hù)視圖 1基本表 2存儲(chǔ)文件 2基本表
2、1存儲(chǔ)文件 1SQL用戶(hù)視圖 2基本表 3存儲(chǔ)文件 3內(nèi)模式模式外模式第2章 SQL語(yǔ)言初步 1基本表(Base Table) 基本表是模式的基本內(nèi)容。每個(gè)基本表都是一個(gè)實(shí)際存在的關(guān)系。 2視圖(View) 視圖是外模式的基本單位,用戶(hù)通過(guò)視圖使用數(shù)據(jù)庫(kù)中基于基本表的數(shù)據(jù)(基本表也可作為外模式使用)。一個(gè)視圖雖然也是一個(gè)關(guān)系,但是它與基本表有著本質(zhì)的區(qū)別。任何一個(gè)視圖都是從已有的若干關(guān)系導(dǎo)出的關(guān)系,它只是邏輯上的定義,實(shí)際并不存在。在導(dǎo)出時(shí),給出一個(gè)視圖的定義(從哪幾個(gè)關(guān)系中, 第2章 SQL語(yǔ)言初步 根據(jù)什么標(biāo)準(zhǔn)選取數(shù)據(jù),組成一個(gè)什么名稱(chēng)的關(guān)系等),此定義存放在數(shù)據(jù)庫(kù)(數(shù)據(jù)字典)中,但沒(méi)有真
3、正執(zhí)行此定義(并未真正生成此關(guān)系)。當(dāng)使用某一視圖查詢(xún)時(shí),將實(shí)時(shí)從數(shù)據(jù)字典中調(diào)出此視圖的定義;根據(jù)此定義以及現(xiàn)場(chǎng)查詢(xún)條件,從規(guī)定的若干關(guān)系中取出數(shù)據(jù),組織成查詢(xún)結(jié)果,展現(xiàn)給用戶(hù)。 因此,視圖是虛表,實(shí)際并不存在,只有定義存放在數(shù)據(jù)字典中。 第2章 SQL語(yǔ)言初步 當(dāng)然,用戶(hù)可在視圖上再定義視圖,就像在基本表上定義視圖一樣,因?yàn)橐晥D也是關(guān)系。因而對(duì)于用戶(hù)來(lái)說(shuō),使用一個(gè)視圖和使用一個(gè)基本表的感覺(jué)是一樣的。只是對(duì)視圖進(jìn)行修改時(shí),有時(shí)會(huì)產(chǎn)生一些麻煩(將在具體介紹視圖操作時(shí)講述)。第2章 SQL語(yǔ)言初步 3存儲(chǔ)文件 存儲(chǔ)文件是內(nèi)模式的基本單位。每一個(gè)存儲(chǔ)文件存儲(chǔ)一個(gè)或多個(gè)基本表的內(nèi)容。一個(gè)基本表可有若干
4、索引,索引也存儲(chǔ)在存儲(chǔ)文件中。存儲(chǔ)文件的存儲(chǔ)結(jié)構(gòu)對(duì)用戶(hù)是透明的。 下面將介紹SQL的基本語(yǔ)句。各廠商的RDBMS實(shí)際使用的SQL語(yǔ)言,與標(biāo)準(zhǔn)SQL語(yǔ)言都有所差異及擴(kuò)充。因此,具體使用時(shí),應(yīng)參閱實(shí)際系統(tǒng)的有關(guān)手冊(cè)。 第2章 SQL語(yǔ)言初步 2.2 基本表、索引的創(chuàng)建、刪除和修改操作基本表、索引的創(chuàng)建、刪除和修改操作 2.2.1 創(chuàng)建基本表CREATETABLE 一、語(yǔ)句格式 CREATETABLE( ) 其中,一對(duì)方括號(hào)內(nèi)的內(nèi)容為可選項(xiàng)。第2章 SQL語(yǔ)言初步 二、說(shuō)明 (1):規(guī)定所創(chuàng)建的基本表的名稱(chēng)。在一個(gè)數(shù)據(jù)庫(kù)中,不允許有兩個(gè)基本表同名(應(yīng)該更嚴(yán)格的說(shuō),任何兩個(gè)關(guān)系都不能同名,這就把視圖也
5、包括了)。 (2):規(guī)定了該表中所有屬性列的結(jié)構(gòu)情況。每一列的內(nèi)容有: 兩列內(nèi)容之間用西文逗號(hào)隔開(kāi)。第2章 SQL語(yǔ)言初步 (3):規(guī)定了該列(屬性)的名稱(chēng)。一個(gè)表中不能有兩列同名。 (4):規(guī)定了該列的數(shù)據(jù)類(lèi)型。各具體DBMS所提供的數(shù)據(jù)類(lèi)型是不同的。但下面的數(shù)據(jù)類(lèi)型幾乎都是支持的: INT或INTEGER 全字長(zhǎng)二進(jìn)制整數(shù) SMALLINT 半字長(zhǎng)二進(jìn)制整數(shù) DEC(p,q)或 壓縮十進(jìn)制數(shù),共p位,其中小數(shù)點(diǎn)后有q位,第2章 SQL語(yǔ)言初步 DECIMAL(p,q) 0=q=p=15,q=0時(shí)可省略 FLOAT 雙字長(zhǎng)的浮點(diǎn)數(shù) CHAR(n)或CHARTER(n) 長(zhǎng)度為n的定長(zhǎng)字符串
6、VARCHAR(n) 最大長(zhǎng)度為n的變長(zhǎng)字符串 DATE 日期型,格式為YYYYMMDD TIME 時(shí)間型,格式為HH.MM.SS TIMESTAMP 日期加時(shí)間第2章 SQL語(yǔ)言初步 (5):該列上數(shù)據(jù)必須符合的條件。最常見(jiàn)的有: NOTNULL 該列值不能為空 NULL 該列值可以為空 UNIQUE 該列值不能有相同者 DEFAULT 該列上某值未定義時(shí)的默認(rèn)值第2章 SQL語(yǔ)言初步 (6):對(duì)整個(gè)表的一些約束條件,常見(jiàn)的有定義主碼(外碼),各列上數(shù)據(jù)必須符合的關(guān)聯(lián)條件等。 SQL只要求語(yǔ)句的語(yǔ)法正確就可以,對(duì)格式不作特殊規(guī)定。一條語(yǔ)句可以放在多行上,字和符號(hào)間有一個(gè)或多個(gè)空格分隔。一般每
7、個(gè)列定義單獨(dú)占一行(或數(shù)行),每個(gè)列定義中相似的部分對(duì)齊(這不是必須的),從而增加可讀性,一目了然。第2章 SQL語(yǔ)言初步 例2.1 創(chuàng)建職工表。 CREATE TABLE Employee (Eno CHAR(4)NOTNULLUNIQUE Ename CHAR(8), Sex CHAR(2), Age INT, Marry CHAR(1), Title CHAR(6), Dno CHAR(2);第2章 SQL語(yǔ)言初步 執(zhí)行后,數(shù)據(jù)庫(kù)中就新建立了一個(gè)名為Employee的表,此表尚無(wú)元組(即為空表)。此表的定義及各約束條件都自動(dòng)存放進(jìn)數(shù)據(jù)字典。 請(qǐng) 學(xué) 生 自 行 建 立 表 2 1 所 示
8、 的 前 三 個(gè) 表 :Employee、Item、ItemEmp。表(四)及表(五)為該數(shù)據(jù)庫(kù)中的另外兩個(gè)表。第2章 SQL語(yǔ)言初步 表21 數(shù)據(jù)庫(kù)表 第2章 SQL語(yǔ)言初步 第2章 SQL語(yǔ)言初步 第2章 SQL語(yǔ)言初步 第2章 SQL語(yǔ)言初步 2.2.2 表結(jié)構(gòu)的修改ALTERTABLE 基本表的結(jié)構(gòu)是可以隨環(huán)境的變化而修改的,即根據(jù)需要增加、修改或刪除其中一列(或完整性約束條件,增加或刪除表級(jí)完整性約束等)。 一、語(yǔ)句格式 ALTERTABLEADD COLUMN完整性約束DROP COLUMN第2章 SQL語(yǔ)言初步 MODIFYCOLUMN完整性約束ADD CONSTRAINTDRO
9、P CONSTRAINT 第2章 SQL語(yǔ)言初步 二、說(shuō)明 (1)ADDCOLUMN:為表增加一新列,具體規(guī)定與CREATETABLE的相當(dāng),但新列必須允許為空(除非有默認(rèn)值)。 (2)DROP COLUMN:在表中刪除一個(gè)原有的列。 (3)MODIFY COLUMN:修改表中原有列的定義。 (4)ADD CONSTRAINT:增加表級(jí)約束。 (5)DROP CONSTRAINT:刪除原有的表級(jí)約束。第2章 SQL語(yǔ)言初步 例2.2 在Item-Emp表中增加一列REno(聯(lián)系人)。 ALTER TABLE Item-Emp (ADD COLUMN Reno CHAR(8) 第2章 SQL語(yǔ)言
10、初步 2.2.3 表中增加元組的基本方法INSERT INSERT語(yǔ)句和下面兩小節(jié)介紹的UPDATE、DELETE都有很強(qiáng)的功能,這里僅介紹它們的基本功能。 INSERT語(yǔ)句既可以為表插入一條記錄,也可一次插入一組紀(jì)錄。這里介紹的是插入一條記錄的語(yǔ)句格式。 一、語(yǔ)句格式 INSERTINTO() VALUES(); 本語(yǔ)句在指定表中插入一條新記錄。 第2章 SQL語(yǔ)言初步 二、說(shuō)明 (1)若有,則中各常量為新記錄中這些屬性的對(duì)應(yīng)值(根據(jù)語(yǔ)句中的位置一一對(duì)應(yīng))。但該表定義時(shí),說(shuō)明為NOTNULL、且無(wú)默認(rèn)值的列必須在中,否則將出錯(cuò)。 (2)如無(wú),則順序?yàn)槊總€(gè)屬性列賦值(每個(gè)屬性列上都應(yīng)有值)。
11、第2章 SQL語(yǔ)言初步 例2.3 在Employee表中插入一職工記錄。 INSERT INTO Employee VALUES(2002,胡一兵,男,38,1,工程師,01);第2章 SQL語(yǔ)言初步 2.2.4 修改表中數(shù)據(jù)的基本方法UPDATE 要修改表中已有記錄的數(shù)據(jù)時(shí),可用UPDATE語(yǔ)句。 一、語(yǔ)句格式 UPDATE SET=,=n WHERE; 本語(yǔ)句把指定內(nèi),符合記錄中規(guī)定的值更新為該后的值。第2章 SQL語(yǔ)言初步 二、說(shuō)明 (1),=n的含義為最少0個(gè)的此類(lèi)內(nèi)容,也即本語(yǔ)句可修改符合 記錄中一個(gè)或多個(gè)列的值。 (2)若無(wú)WHERE項(xiàng),則修改全部記錄。 例2.4 對(duì)工資表中,所有
12、基本工資小于600的記錄,基本工資都增加50。 UPDATE Salary SET Basepay=Basepay+50 WHERE Basepay600;第2章 SQL語(yǔ)言初步 2.2.5 刪除記錄DELETE有時(shí)需要?jiǎng)h去一些記錄,則可用DELETE語(yǔ)句。一、語(yǔ)句格式 DELETEWHERE本語(yǔ)句將在指定中刪除所有符合的記錄。 第2章 SQL語(yǔ)言初步 二、說(shuō)明 當(dāng)無(wú)WHERE項(xiàng)時(shí),將刪除中的所有記錄。但是,該表還在,只是沒(méi)有了記錄,是個(gè)空表而已。 例2.5 從職工表中刪除Eno(職工號(hào))為1003的記錄。 DELETE FROM Employee WHERE Eno=1003;第2章 SQL
13、語(yǔ)言初步 2.2.6 更新操作與數(shù)據(jù)庫(kù)的一致性 上述增刪改語(yǔ)句一次只能對(duì)一個(gè)表進(jìn)行操作。但有些操作必須在幾個(gè)表中同時(shí)進(jìn)行,否則就會(huì)產(chǎn)生數(shù)據(jù)的不一致性。例如,要修改項(xiàng)目(Item)中某記錄的項(xiàng)目號(hào)(Ino),則其他項(xiàng)目表中所有原項(xiàng)目號(hào)相同的記錄也必須同時(shí)修改為同一新項(xiàng)目號(hào)。但這只能用兩條語(yǔ)句完成:第2章 SQL語(yǔ)言初步 UPDATE Item SET Ino=200102 WHER ESno=200001;以及: UPDATE Item-emp SET Ino=200102 WHERE Ino=200001;第2章 SQL語(yǔ)言初步 第一條語(yǔ)句執(zhí)行后,第二條語(yǔ)句尚未完成前,數(shù)據(jù)庫(kù)中數(shù)據(jù)處于不一致?tīng)?/p>
14、態(tài)。若此時(shí)突然斷電,第二條語(yǔ)句無(wú)法繼續(xù)完成,則問(wèn)題就嚴(yán)重了。為此,SQL中引入了事務(wù)概念,把這兩條語(yǔ)句作為一個(gè)事務(wù),要么全部都做,要么全部不做。有關(guān)事務(wù)的內(nèi)容,將在第3章3.5節(jié)中介紹。第2章 SQL語(yǔ)言初步 2.2.7 刪除基本表DROPTABLE 一、語(yǔ)句格式 DROPTABLE 二、說(shuō)明 此語(yǔ)句一執(zhí)行,指定的表即從數(shù)據(jù)庫(kù)中刪除(表被刪除,表在數(shù)據(jù)字典中的定義也被刪除),此表上建立的索引和視圖也被自動(dòng)刪除(有些系統(tǒng)對(duì)建立在此表上的視圖的定義并不刪除,但也無(wú)法使用了)。 例2.6 刪除職工表。 DROP TABLE Employee第2章 SQL語(yǔ)言初步 2.2.8 建立索引CREATEIN
15、DEX 在一個(gè)基本表上,可建立若干索引。有了索引,可以加快查詢(xún)速度。索引的建立和刪除工作由DBA或表的屬主(建表人)負(fù)責(zé)。用戶(hù)在查詢(xún)時(shí)并不能選擇索引,選擇索引的工作由DBMS自動(dòng)進(jìn)行。 一、語(yǔ)句格式 CREATEUNIQUECLUSTERINDEX ON() 本語(yǔ)句為規(guī)定建立一索引,索引名為。第2章 SQL語(yǔ)言初步 二、說(shuō)明 (1)中,每個(gè)列名后都可指定ASC(升序)或DESC(降序)。若不指定,默認(rèn)為升序。 (2)本語(yǔ)句建立索引的排列方式為:首先以中的第一個(gè)列的值排序;該列值相同的記錄,按下一列名的值排序;以此類(lèi)推。 (3)UNIQUE:規(guī)定索引的每一個(gè)索引值只對(duì)應(yīng)于表中唯一的記錄。第2章
16、SQL語(yǔ)言初步 (4)CLUSTER:規(guī)定此索引為聚簇索引。一個(gè)表最多只能有一個(gè)聚簇索引。有了聚簇索引后,表中記錄的物理順序?qū)⑴c聚簇索引中的一致。在最常查詢(xún)的列上建立聚簇索引可以加快查詢(xún)速度;在經(jīng)常更新的列上建立聚簇索引,則DBMS維護(hù)索引的代價(jià)太大。 例2.7 為職工表建立一索引,首先以部門(mén)值排序,部門(mén)相同時(shí),再以職工號(hào)降序排序。 CREATEINDEXIX-Emp1 ON Employee(Dno ASC,Eno DESC); 第2章 SQL語(yǔ)言初步 2.2.9 刪除索引DROPINDEX 索引太多,索引的維護(hù)開(kāi)銷(xiāo)也將增大。因此,不必要的索引應(yīng)及時(shí)刪除。 一、語(yǔ)句格式 DROPINDEX
17、二、說(shuō)明 本語(yǔ)句將刪除規(guī)定的索引。該索引在數(shù)據(jù)字典中的描述也將被刪除。 例2.8 刪除IX-Emp1索引。 DROPINDEXIX-Emp1;第2章 SQL語(yǔ)言初步 2.3 SQL的查詢(xún)語(yǔ)句的查詢(xún)語(yǔ)句SELECT 查詢(xún)是數(shù)據(jù)庫(kù)應(yīng)用的核心內(nèi)容。SQL只提供一條查詢(xún)語(yǔ)句SELECT,但該語(yǔ)句功能豐富,使用方法靈活,可以滿(mǎn)足用戶(hù)的任何要求。使用SELECT語(yǔ)句時(shí),用戶(hù)不需指明被查詢(xún)關(guān)系的路徑,只需要指出關(guān)系名,查詢(xún)什么,有何附加條件即可。第2章 SQL語(yǔ)言初步 SELECT既可以在基本表關(guān)系上查詢(xún),也可以在視圖關(guān)系上查詢(xún)。因此,下面介紹語(yǔ)句中的關(guān)系既可以是基本表,也可以是視圖。讀者目前可把關(guān)系專(zhuān)指為
18、基本表,到介紹視圖操作時(shí),再把它與視圖聯(lián)系起來(lái)。 2.3.1 SELECT語(yǔ)句的基本格式 一、語(yǔ)句格式 SELECT語(yǔ)句的基本格式為: SELECTDISTINCT/ALL FROM WHERE; 第2章 SQL語(yǔ)言初步 本語(yǔ)句從所規(guī)定的若干關(guān)系中首先找出符合WHERE子句中的元組(無(wú)此子句時(shí),查詢(xún)出所有元組);再根據(jù)的規(guī)定,組合這些元組的屬性值,形成一個(gè)新的查詢(xún)結(jié)果關(guān)系;最后輸出這個(gè)結(jié)果關(guān)系。第2章 SQL語(yǔ)言初步 二、說(shuō)明 (1) DISTINCT/ALL。若從一關(guān)系中查詢(xún)出符合條件的元組,但輸出部分屬性值,結(jié)果關(guān)系中就可能有重復(fù)元組存在。選擇DISTINCT,則每組重復(fù)元組只輸出一條元組
19、;選擇ALL,則所有重復(fù)元組全部輸出。兩個(gè)都不選,默認(rèn)為ALL。 (2)。一般地,每個(gè)目標(biāo)列表達(dá)式本身將作為結(jié)果關(guān)系列名,表達(dá)式的值作為結(jié)果關(guān)系中該列的值。一個(gè)目標(biāo)列表達(dá)式的一般格式為:第2章 SQL語(yǔ)言初步 .(如:Salary.Basepay+50)若被查詢(xún)諸關(guān)系中,只有此關(guān)系有該屬性,則關(guān)系名可省略,此例中,結(jié)果關(guān)系該列的列名即為此表達(dá)式,各元組在該列的分量即為原基本工資加50后的值。 .*(如Employee.*) 若結(jié)果關(guān)系的各列正好是某被查詢(xún)的關(guān)系的所有屬性時(shí),則可用此格式。本例的義是:結(jié)果關(guān)系各列正好是關(guān)系Employee的各列。若被查詢(xún)關(guān)系只有一個(gè),則上述關(guān)系名也可省略。第2章
20、 SQL語(yǔ)言初步 不含有任何被查詢(xún)關(guān)系中屬性名的表達(dá)式。 最極端時(shí),該表達(dá)式只由一個(gè)常量組成,則該列的列名和各元組的分量都為此常量。但是,這種情況一般都是在表達(dá)式中含有某個(gè)集函數(shù)。各實(shí)際RDBMS提供的集函數(shù)不盡相同,但一般都提供以下幾個(gè):第2章 SQL語(yǔ)言初步 COUNT(DISTINCT/ALL*) 統(tǒng)計(jì)結(jié)果中元組個(gè)數(shù) COUNT(DISTINCT/ALL) 統(tǒng)計(jì)一列上元組個(gè)數(shù) MAX() 給出一列上的最大值 MIN() 給出一列上的最小值 SUM(DISTINCT/ALL) 給出一列上值的總和(只對(duì)數(shù)值型) AVG(DISTINCT/ALL) 給出一列上值的平均值(只對(duì)數(shù)值型) 第2章
21、SQL語(yǔ)言初步 例如: SELECTCOUNT(*) 求結(jié)果關(guān)系的元組總數(shù) SELECTCOUNT(DISTINCT Basepay) 求結(jié)果關(guān)系中不同基本工資的個(gè)數(shù) SELECTAVG(Basepay) 求結(jié)果關(guān)系中所有基本工資的平均值第2章 SQL語(yǔ)言初步 (3)目標(biāo)列表達(dá)式的別名。 沒(méi)有此別名時(shí),一個(gè)目標(biāo)列表達(dá)式即為結(jié)果關(guān)系中此列的列名。當(dāng)此目標(biāo)列表達(dá)式是一個(gè)被查詢(xún)關(guān)系的某列名時(shí),這是沒(méi)問(wèn)題的。但當(dāng)此目標(biāo)列表達(dá)式是一個(gè)有著+,-,*,/符號(hào)的表達(dá)式時(shí),此列名將會(huì)使列的含義含糊。特別地,當(dāng)此目標(biāo)列表達(dá)式包含有函數(shù)時(shí),情況更是如此。為此,SQL提供了由用戶(hù)另外為目標(biāo)列表達(dá)式規(guī)定列名的手段,就
22、是這里的別名。第2章 SQL語(yǔ)言初步 當(dāng)沒(méi)有此別名時(shí),目標(biāo)列表達(dá)式即為結(jié)果關(guān)系中該列的列名;當(dāng)給出一個(gè)別名時(shí),結(jié)果關(guān)系中該列的列名即為此別名(但結(jié)果關(guān)系中各元組在此列上的分量仍為該目標(biāo)列表達(dá)式的值)。第2章 SQL語(yǔ)言初步 (4)FROM。 此子句指明了被查詢(xún)的各關(guān)系的關(guān)系名。有時(shí),一個(gè)關(guān)系會(huì)被兩次查詢(xún),這時(shí)就需要把先后查詢(xún)的同一關(guān)系區(qū)分開(kāi)來(lái)。使用別名即可達(dá)到此目的。 例: FROM Item-Emp FIRST,Item-Emp SECOND 但此時(shí),在SELECT子句和WHERE子句中出現(xiàn)的屬性名,必須指明是FIRST關(guān)系的還是SECOND關(guān)系的。第2章 SQL語(yǔ)言初步 (5)WHERE。
23、本子句給出查詢(xún)條件。其格式有以下幾種:,常量其中為比較操作符=,=,等,如: WHERE姓名=李勇; WHERE Price=60;第2章 SQL語(yǔ)言初步 NOTBETWEENAND 其中,為下限,為上限。 無(wú)NOT時(shí),在和之間的值有效,否則無(wú)效;有NOT時(shí),則相反。例如: WHEREOutlayBETWEEN10AND20 NOTIN() 無(wú)NOT時(shí),值在中有效,否則無(wú)效;有NOT時(shí),則相反。例如: WHERE Eno NOT IN(1002,1010,1022)第2章 SQL語(yǔ)言初步 NOTLIKE 通配符有“%”和“-”兩種:“%”表示任意長(zhǎng)度的字符串,“-”表示任意單個(gè)字符。無(wú)NOT時(shí)
24、,值與該字符串匹配時(shí)有效,否則無(wú)效;有NOT時(shí),則相反。例如: WHERE Ino LIKE1998% 若通配符本身就是字符串內(nèi)容,則可增加短語(yǔ)ESCAPE解釋之。如:WHERE Iname LIKEC-%ESCAPE,則緊跟在后的-不是通配符,僅是一個(gè)字符而已。第2章 SQL語(yǔ)言初步 ISNOTNULL 無(wú)NOT時(shí),值為NULL有效,否則無(wú)效;有NOT時(shí),則相反。如: WHERE Chek-date IS NOT NULL AND|ORn 其中,各本身為邏輯值(真或假),n的意義與2.2.4節(jié)中的n相同。如: WHERE Ino=1998AND Eno=1016 特別注意,WHERE子句中不
25、能用集函數(shù)作為條件表達(dá)式。第2章 SQL語(yǔ)言初步 三、舉例 例2.9 SELECT DISTINCT Eno FROM Item-Emp WHERE Ino LIKE1998% 從Item-Emp表中查找Ino的前4位為1998的元組,顯示Eno列值(相同值只需顯示一次)。 例2.10 SELECT* FROM Salary WHERE Basepay BETWEEN 500 AND 700 從Salary表中查找Basepay在500和700間的元組,顯示符合條件元組的所有屬性。第2章 SQL語(yǔ)言初步 例2.11 SELECT Employee.Eno, Ename,Ino FROM Emp
26、loyee,Item-Emp WHER EEmployee.Eno=Item-Emp.Eno 查詢(xún)參加項(xiàng)目職工的職工號(hào)、職工名和項(xiàng)目號(hào)。把職工表與參加表聯(lián)接成一個(gè)新表,新表由兩表各部分屬性組成(見(jiàn)SELECT子句)。但只有職工表中Eno與參加表中Eno相等的元組連接。 注:如果沒(méi)有WHERE子句的話,當(dāng)Employee表有m條記錄,Item-Emp表有n條記錄時(shí),輸出關(guān)系有m*n條記錄。第2章 SQL語(yǔ)言初步 例2.12 SELECT FIRST.Eno,SECOND.REno FROM Item-Emp FIRST,Item-Emp SECOND WHERE FIRST.REno=SECON
27、D.Eno 這是一個(gè)自身連接的例子。根據(jù)Item-Emp,求出參加某項(xiàng)目者的間接聯(lián)系人。 例2.13 SELECT Salary.Eno,Ename,Basepay+ Service+Price+Rest-Insure-Fund WAGE FROM Salary,Employee WHERE Salary.Eno=Employee.Eno第2章 SQL語(yǔ)言初步 例2.14 SELECT* FROM SalaryWHERE(BasepayBETWEEN600AND700)AND(ServiceIN(6.0,7.0,13.0,25.0))ANDEno LIKE100- 從Salary中選取符合下列
28、條件的元組: 基本工資在600與700之間; 工齡工資為6,7,13,25; 職工號(hào)前三位為100(共有4位)。 第2章 SQL語(yǔ)言初步 例2.15 SELECT* FROM Item WHERE Check-date IS NULL從項(xiàng)目表中選取鑒定日期是空值的記錄 第2章 SQL語(yǔ)言初步 2.3.2 SELECT語(yǔ)句的高級(jí)使用格式 一、語(yǔ)句格式 SELECT語(yǔ)句的高級(jí)使用格式與基本格式相似,即 SELECTDISTINCT/ALL FROM WHERE 高級(jí)使用格式與基本使用格式的差別在于,高級(jí)使用格式的WHERE子句肯定存在,且中嵌套有另外的查詢(xún)。第2章 SQL語(yǔ)言初步 二、說(shuō)明 (1)
29、一個(gè)SELECTFROMWHERE語(yǔ)句稱(chēng)為一個(gè)查詢(xún)塊,WHERE子句中的查詢(xún)塊稱(chēng)為嵌套查詢(xún)。在此,外層的查詢(xún)稱(chēng)為外層查詢(xún)或父查詢(xún),內(nèi)層的查詢(xún)稱(chēng)為內(nèi)層查詢(xún)或子查詢(xún)。 (2)一個(gè)查詢(xún)還可以再嵌套子查詢(xún),這就是多層查詢(xún),層層嵌套,這就是結(jié)構(gòu)化。 (3)求解嵌套查詢(xún)的一般方法是由里向外,逐層處理。即,子查詢(xún)?cè)谒母覆樵?xún)處理前先求解,子查詢(xún)的結(jié)果作為其父查詢(xún)查找條件的一部分。第2章 SQL語(yǔ)言初步 (4)有了嵌套查詢(xún)后,SQL的查詢(xún)功能就變得更豐富多采。復(fù)雜的查詢(xún)可以用多個(gè)簡(jiǎn)單查詢(xún)嵌套來(lái)解決,一些原來(lái)無(wú)法實(shí)現(xiàn)的查詢(xún)也因有了多層嵌套查詢(xún)而迎刃而解。嵌套查詢(xún)時(shí)WHERE中的格式有以下幾種: ANY/ALL(
30、SELECT語(yǔ)句) ANY只要與子查詢(xún)中一個(gè)值符合即可,ALL要與子查詢(xún)中所有值相符合。 第2章 SQL語(yǔ)言初步 如: WHERE Dno=ANY (SELECT Dno FROM Employee WHERE Eno=1002OR Eno=1003) 職工表中,當(dāng)職工號(hào)為1002或1003元組所在部門(mén),與外層查詢(xún)中的部門(mén)相同時(shí),才符合查詢(xún)條件,其他都不符合條件。第2章 SQL語(yǔ)言初步 為便于理解,將ANY和ALL的確切含義歸納如下: ANY 只要大于其中一個(gè)即可 ALL 必須大于所有結(jié)果 ANY 只要小于其中一個(gè)即可 =ANY 只要大于等于其中一個(gè)即可第2章 SQL語(yǔ)言初步 =ALL 必須大
31、于等于所有結(jié)果 =ANY 只要小于等于其中一個(gè)即可 =ALL 必須小于等于所有的結(jié)果 =ANY 只要等于其中一個(gè)即可 ANY 只要與其中一個(gè)不等即可 ALL 必須與所有結(jié)果都不等第2章 SQL語(yǔ)言初步 NOTIN(SELECT語(yǔ)句) 無(wú)NOT時(shí),只要屬性值在SELECT子查詢(xún)結(jié)果中即可,否則無(wú)效;有NOT時(shí),則相反。如: WHERE Eno IN (SELECT Eno FROM Item-Emp WHERE Ino LIKE199%) 凡是與某參加90年代項(xiàng)目職工的職工號(hào)相等即符合條件。 第2章 SQL語(yǔ)言初步 NOTEXISTS(SELECT語(yǔ)句),如: SELECT Eno,Ename
32、FROM Employee WHEREEXISTS (SELECT* FROM Item-Emp WHERE Eno=Employee.Eno); 第2章 SQL語(yǔ)言初步 EXISTS代表存在量詞。在此格式中,子查詢(xún)(SELECT語(yǔ)句)不返回任何數(shù)據(jù),只產(chǎn)生邏輯值:無(wú)NOT時(shí),子查詢(xún)查到元組,返回值為真(TURE),否則為假;有NOT時(shí),則相反。 此格式的子查詢(xún)中,一般都用“*”號(hào)(是其他的屬性名也可以,但無(wú)實(shí)際意義。因此,為了用戶(hù)方便起見(jiàn),一般用*)。第2章 SQL語(yǔ)言初步 這類(lèi)子查詢(xún)的求解方式與前面是不同的(重復(fù)一遍,一般來(lái)說(shuō),子查詢(xún)都在其父查詢(xún)處理前求解)。在這里,子查詢(xún)的查詢(xún)條件往往依
33、賴(lài)于其父查詢(xún)的某屬性值。這類(lèi)查詢(xún)稱(chēng)為相關(guān)子查詢(xún)。這就是為什么本格式上述舉例時(shí),不能單獨(dú)取出父查詢(xún)的WHERE子句的緣故。 求執(zhí)行相關(guān)子查詢(xún)的過(guò)程為:從外查詢(xún)的關(guān)系(Employee)中依次取一個(gè)元組,根據(jù)它的值在內(nèi)查詢(xún)進(jìn)行檢查,若WHERE子句為真,將此元組放入結(jié)果表(為假,則舍去)。這樣反復(fù)處理,直至外查詢(xún)關(guān)系的元組全部處理完為止。第2章 SQL語(yǔ)言初步 NOTBETWEENAND中的和也可以是子查詢(xún)。這種情況下,子查詢(xún)結(jié)果作為邊界。第2章 SQL語(yǔ)言初步 三、舉例 例2.16 SELECT* FROM Employee WHERE Eno=ANY (SELECT Eno FROM Item
34、-Emp WHERE Ino=2000%);在職工表中取出所有參加2000年度項(xiàng)目的職工。第2章 SQL語(yǔ)言初步 例2.17 SELECT Eno,Ename,Dno,Title FROM Employee WHER Eino IN (SELECT Ino FROMItem-Emp WHERE Eno=1004); 從Employee關(guān)系中取出所有與1004號(hào)職工共同參加項(xiàng)目的職工的元組。但僅輸出屬性職工號(hào)、姓名、部門(mén)和職稱(chēng)的值。第2章 SQL語(yǔ)言初步 例2.18 SELECT Eno,Ename,Dno FROM Employee WHERE EXISTS (SELECT* FROM Ite
35、m-Emp WHERE Eno=Employee.Eno AND Ino=199801); 從Employee關(guān)系中取出所有參加了199801項(xiàng)目的元組,只輸出職工號(hào),姓名,部門(mén)三屬性值。第2章 SQL語(yǔ)言初步 例2.19 SELECT FIRST.Eno FROM Salary FIRST WHERE Basepay BETWEEN (SELECT Basepay FROM Salary SENCOND WHERE SENCORD.Eno=1010)AND800; 在工資表中,把基本工資介于職工號(hào)1010工資和800元之間的職工號(hào)查詢(xún)出來(lái)。第2章 SQL語(yǔ)言初步 2.3.3 SELECT語(yǔ)句
36、的完整使用格式 一、語(yǔ)句格式 SELECTALL/DISTINCT FROM WHERE ORDERBY GROUPBYHAVING SELECT語(yǔ)句的完整格式比前面的格式多了ORDERBY子句以及GROUPBY子句兩個(gè)可選項(xiàng)。第2章 SQL語(yǔ)言初步 二、說(shuō)明 (1) ORDERBY 有了ORDER子句后,SELECT語(yǔ)句的查詢(xún)結(jié)果表中各元組將排序輸出:首先按第一個(gè)值排序;前一個(gè)值相同者,再按下一個(gè)值排序,以此類(lèi)推。若某列名后有DESC,則以該列名值排序時(shí)為降序排列,否則,為升序排列。例如: ORDERBY Service,Basepay DESC 結(jié)果首先以工齡工資升序排序,工齡工資相等的元
37、組再以基本工資降序排列。第2章 SQL語(yǔ)言初步 子查詢(xún)的SELECT語(yǔ)句不能使用ORDERBY子句,此子句只能作用于最終查詢(xún)結(jié)果。排序時(shí),空值作為最大值處理。 (2)GROUPBYHAVING 把查詢(xún)所得元組根據(jù)GROUPBY中進(jìn)行分組。在這些列上,對(duì)應(yīng)值都相同的元組分在同一組;若無(wú)HAVING子句,則各組分別輸出;若有HAVING子句,只有符合條件的組才輸出。 一般地,當(dāng)SELECT的中有集函數(shù)(COUNT、SUM等)時(shí),才使用GROUP子句。第2章 SQL語(yǔ)言初步 例2.20 SELECT Dno,AVG(Age)Average-Age FROM Employee GROUP BY Dno
38、 HAVING COUNT(*)1; 把職工表中元組按部門(mén)分組,只有人數(shù)多于一人的組才輸出;輸出部門(mén)號(hào)和平均年齡兩列。 第2章 SQL語(yǔ)言初步 有了GROUPBY子句后,AVG函數(shù)對(duì)每一組求平均值,若無(wú)GROUPBY,AVG對(duì)整個(gè)輸出求平均值。這一點(diǎn),對(duì)所有的集函數(shù)都成立。 HAVING條件作用于結(jié)果組,選擇滿(mǎn)足條件的結(jié)果組。而WHERE條件作用于被查詢(xún)的關(guān)系,從中選擇滿(mǎn)足條件的元組。第2章 SQL語(yǔ)言初步 2.3.4 多個(gè)SELECT語(yǔ)句的集合操作SQL提供了集合并操作手段UNION。 例2.21 SELECT* FROM Item-Emp WHERE Ino=19981 UNION SEL
39、ECT* FROM Item-Emp WHERE Ino=200001;第2章 SQL語(yǔ)言初步 本例把兩條SELECT語(yǔ)句各自得到的結(jié)果集并為一個(gè)集(兩集合中若有相同元組,只留一個(gè))。 注意事項(xiàng): 參加UNION的記錄結(jié)果集必須有相同的列數(shù),各對(duì)應(yīng)項(xiàng)的數(shù)據(jù)類(lèi)型也必須相同。SQL未直接提供集合交操作、集合差操作,但完全可用一般的SELECT語(yǔ)句代替之。請(qǐng)讀者自行考慮。第2章 SQL語(yǔ)言初步 2.4 含有子查詢(xún)的數(shù)據(jù)更新含有子查詢(xún)的數(shù)據(jù)更新 在2.2.32.2.6節(jié)中已介紹了INSERT、UPDATE和DELETE的基本使用方法及注意事項(xiàng)。本節(jié)介紹他們與子查詢(xún)結(jié)合使用的方法。與子查詢(xún)結(jié)合后,三語(yǔ)句
40、的功能更強(qiáng),使用手段也更加靈活。第2章 SQL語(yǔ)言初步 2.4.1 INSERT與子查詢(xún)的集合 一、語(yǔ)句格式 INSERTINTO (子查詢(xún)); 把子查詢(xún)的結(jié)果插入指定的中。這樣的一條INSERT語(yǔ)句,可以一次插入多條元組。第2章 SQL語(yǔ)言初步 二、舉例 例2.22 假如部門(mén)號(hào)為01的部門(mén)由于需要自己建立一個(gè)部門(mén)職工表,結(jié)構(gòu)與Employee相同(表名為Employee-01)。則該表的元組可用一條INSERT語(yǔ)句一次全部插入如下: INSERT INTO Employee-01 SELECT* FROM Employee WHER EDno=01;第2章 SQL語(yǔ)言初步 2.4.2 UPD
41、ATE與子查詢(xún)的結(jié)合 一、語(yǔ)句格式 UPDATE SET=,=n WHERE 本語(yǔ)句執(zhí)行時(shí),將修改使為真的所有元組。n的意義與2.2.4節(jié)中的n相同。第2章 SQL語(yǔ)言初步 二、舉例 例2.23 UPDATE Salary SET Rest=Rest+200 WHERE Eno IN (SELECT Eno FROM Item-Emp WHEREIno=199802);凡參加199802項(xiàng)目的職工,工資表中津貼的值都增加200。 第2章 SQL語(yǔ)言初步 2.4.3 DELETE與子查詢(xún)的結(jié)合 一、語(yǔ)句格式 DELETE FROM WHERE 本語(yǔ)句將刪除使為真的所有元組。第2章 SQL語(yǔ)言初步
42、 二、舉例 例2.24 DELETE FROM Item-Emp WHERE Eno= (SELECT Eno FROM Employee WHERE姓名=丁為國(guó));從項(xiàng)目人員中,刪除丁為國(guó)的所有元組。第2章 SQL語(yǔ)言初步 2.5 視視 圖圖 視圖是數(shù)據(jù)庫(kù)系統(tǒng)的一個(gè)重要機(jī)制。無(wú)論從方便用戶(hù)的角度,還是從加強(qiáng)數(shù)據(jù)庫(kù)安全的角度,視圖都有著極其重要的作用。 一個(gè)視圖是從一個(gè)或多個(gè)關(guān)系(基本表或已有的視圖)導(dǎo)出的關(guān)系。導(dǎo)出后,數(shù)據(jù)庫(kù)中只存有此視圖的定義(在數(shù)據(jù)字典中),但并沒(méi)有實(shí)際生成此關(guān)系。因此視圖是虛表。第2章 SQL語(yǔ)言初步 用戶(hù)使用視圖時(shí),其感覺(jué)與使用基本表是時(shí)相同的。但是 (1)由于視圖是
43、虛表,所以SQL對(duì)視圖不提供建立索引的語(yǔ)句。 (2) SQL一般也不提供修改視圖定義的語(yǔ)句(有此需要時(shí),只要把原定義刪除,重新定義一個(gè)新的即可,這樣不影響任何數(shù)據(jù))。 (3) 對(duì)視圖中數(shù)據(jù)做更新時(shí)是有些限制的。第2章 SQL語(yǔ)言初步 2.5.1 定義視圖CREATEVIEW 一、語(yǔ)句格式 CREATE VIEW AS WITH CHECK OPTION 第2章 SQL語(yǔ)言初步 二、說(shuō)明 (1)給出所定義的視圖的名稱(chēng)。 (2)若有,則此清單給出了此視圖的全部屬性的屬性名;否則,此視圖的所有屬性名即為子查詢(xún)中SELECT語(yǔ)句中的全部目標(biāo)列。 (3)為任一合法SELECT語(yǔ)句(但一般不含有ORDER
44、BY,UNION等語(yǔ)法成分)。第2章 SQL語(yǔ)言初步 (4)有WITHCHECKOPTION時(shí),則今后對(duì)此視圖進(jìn)行INSERT、UPDATE和DELETE操作時(shí),系統(tǒng)會(huì)自動(dòng)檢查視圖是否符合原定義視圖時(shí)子查詢(xún)中的。 本語(yǔ)句執(zhí)行后,此視圖的定義即進(jìn)入數(shù)據(jù)字典,對(duì)語(yǔ)句中的并未執(zhí)行,也即視圖并未真正生成。所以說(shuō),視圖是虛表。第2章 SQL語(yǔ)言初步 三、舉例 例2.25 CREATE VIEW Employee-02 AS SELECT* FROM Employee WHERE Dno=02; 從職工表中取出部門(mén)為02的元組組成一個(gè)視圖。 視圖可以從一個(gè)基本表或視圖導(dǎo)出,也可以是從多個(gè)基本表或多個(gè)視圖導(dǎo)
45、出。 第2章 SQL語(yǔ)言初步 一個(gè)視圖,如果只從單個(gè)基本表導(dǎo)出,且保留了原來(lái)的碼,只是去掉了原基本表的某些行和非碼屬性,該視圖稱(chēng)為 行列子集視圖,如上述Employee-02視圖。 定義視圖時(shí),若設(shè)置了一些派生屬性(這些屬性是原基本表沒(méi)有的,其值是用一個(gè)表達(dá)式對(duì)原基本表的運(yùn)算而得到的),則此視圖稱(chēng)為帶有表達(dá)式的視圖,這些派生屬性也稱(chēng)為虛擬列。 定義視圖時(shí),若使用了集函數(shù)和GROUPBY子句的查詢(xún),則此視圖稱(chēng)為分組視圖。第2章 SQL語(yǔ)言初步 2.5.2 刪除視圖DROPVIEW 一、語(yǔ)句格式 DROPVIEW 此語(yǔ)句將把指定視圖的定義從數(shù)據(jù)字典中刪除。 一個(gè)關(guān)系(基本表或視圖)被刪除后,所有由
46、該關(guān)系導(dǎo)出的視圖并不自動(dòng)刪除,它們?nèi)栽跀?shù)據(jù)字典中,但已無(wú)法使用。刪除視圖必須用DROPVIEW語(yǔ)句。 二、舉例 例2.26 DROP VIEW Employee-02 執(zhí)行此語(yǔ)句后,Employee-02視圖的定義就從數(shù)據(jù)字典中刪除了。第2章 SQL語(yǔ)言初步 2.5.3 視圖的查詢(xún) 一、用戶(hù)的工作 對(duì)用戶(hù)來(lái)說(shuō),對(duì)視圖的查詢(xún)與對(duì)基本表的查詢(xún)是沒(méi)有區(qū)別的,都使用SELECT語(yǔ)句對(duì)有關(guān)的關(guān)系進(jìn)行查詢(xún)工作。在查詢(xún)時(shí),用戶(hù)不需區(qū)分是對(duì)基本表查詢(xún),還是對(duì)視圖查詢(xún)。SELECT語(yǔ)句中不需(也不可能)標(biāo)明被查詢(xún)的關(guān)系是基本表還是視圖。如: SELECT* FROM Employee-02第2章 SQL語(yǔ)言初步
47、 二、DBMS對(duì)視圖查詢(xún)的處理 DBMS對(duì)某SELECT語(yǔ)句進(jìn)行處理時(shí),若發(fā)現(xiàn)被查詢(xún)對(duì)象是視圖,則DBMS將進(jìn)行下述操作: (1)從數(shù)據(jù)字典中取出視圖的定義。 (2)把視圖定義的子查詢(xún)和本SELECT的查詢(xún)相結(jié)合,生成等價(jià)的對(duì)基本表的查詢(xún)(此過(guò)程稱(chēng)為視圖的消解)。 (3)執(zhí)行對(duì)基本表的查詢(xún),把查詢(xún)結(jié)果(作為本次對(duì)視圖的查詢(xún)結(jié)果)向用戶(hù)顯示。 第2章 SQL語(yǔ)言初步 三、特殊情況的處理 一般情況下,對(duì)視圖的查詢(xún)是不會(huì)出現(xiàn)問(wèn)題的。但有時(shí),視圖消解過(guò)程不能給出語(yǔ)法正確的查詢(xún)條件。因此,對(duì)視圖查詢(xún)時(shí),若出現(xiàn)語(yǔ)法錯(cuò)誤,可能不是查詢(xún)語(yǔ)句本身有語(yǔ)法錯(cuò)誤,而是轉(zhuǎn)換后出現(xiàn)的語(yǔ)法錯(cuò)誤。此時(shí),用戶(hù)須自行把對(duì)視圖的查
48、詢(xún)轉(zhuǎn)化為對(duì)基本表的查詢(xún)。第2章 SQL語(yǔ)言初步 2.5.4 視圖的更新 一、視圖更新的含義及執(zhí)行過(guò)程 視圖是虛表,是沒(méi)有數(shù)據(jù)的。所謂視圖的更新,表面上是對(duì)視圖執(zhí)行INSERT、 UPDATE和DELE TE來(lái)更新視圖的數(shù)據(jù),其實(shí)質(zhì)是由DBMS自動(dòng)轉(zhuǎn)化成對(duì)導(dǎo)出視圖的基本表的更新,轉(zhuǎn)化成對(duì)基本表的INSERT、UPDATE和DELETE語(yǔ)句(用戶(hù)在感覺(jué)上確實(shí)是在對(duì)視圖更新)。第2章 SQL語(yǔ)言初步 例2.27 INSERT INTO Employee-02 VALUES(1036,陳向東,男,25,1,工程師,02);將轉(zhuǎn)化成對(duì)基本表Employee的插入: INSERT INTO Employee VALUE
溫馨提示
- 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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 45125-2025數(shù)字印刷材料用酚醛樹(shù)脂軟化點(diǎn)的測(cè)定顯微熔點(diǎn)儀法
- 河道下踏步施工方案
- 河鋼廣場(chǎng)施工方案
- 沙坪壩地毯施工方案
- 二零二五年度農(nóng)村土地墳地租賃與墓園墓碑清洗服務(wù)協(xié)議
- 美容院?jiǎn)T工晉升與發(fā)展激勵(lì)合同(2025年度)
- 2025年度駕校教練員車(chē)輛保險(xiǎn)承包合同
- 二零二五年度溫泉度假村股份合作協(xié)議
- 二零二五年度農(nóng)業(yè)技術(shù)居間保密合同
- 二零二五年度醫(yī)院間醫(yī)療信息共享與數(shù)據(jù)安全協(xié)議
- PAC人流術(shù)后關(guān)愛(ài)與健康教育
- 公對(duì)公打款合同
- 乳腺癌患者的疼痛護(hù)理課件
- 研課標(biāo)說(shuō)教材修改版 八年級(jí)下冊(cè)
- 抗生素種類(lèi)歸納分類(lèi)
- 江西宜春城市文化介紹
- 正常肌肉及常見(jiàn)肌病的病理學(xué)表現(xiàn)
- 小學(xué)語(yǔ)文新課標(biāo)學(xué)習(xí)任務(wù)群的基本理解和操作要領(lǐng)
- 國(guó)產(chǎn)自主可控?cái)?shù)據(jù)庫(kù)采購(gòu)項(xiàng)目技術(shù)標(biāo)準(zhǔn)和服務(wù)要求
- 機(jī)械設(shè)計(jì)說(shuō)明書(shū)-激光熔覆送粉器設(shè)計(jì)
- 01-BUFR格式應(yīng)用指南(試用版)
評(píng)論
0/150
提交評(píng)論