版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、SQL ServerSQL Server實(shí)用教程實(shí)用教程Page 12021-12-19q6.1 簡(jiǎn)單簡(jiǎn)單select查詢查詢q6.2 select語(yǔ)句的統(tǒng)計(jì)功能語(yǔ)句的統(tǒng)計(jì)功能q6.3 select語(yǔ)句中的多表連接語(yǔ)句中的多表連接q6.4 子查詢子查詢SQL ServerSQL Server實(shí)用教程實(shí)用教程Page 22021-12-19q教學(xué)要求:通過(guò)本章學(xué)習(xí),讀者應(yīng)掌握以下內(nèi)容:教學(xué)要求:通過(guò)本章學(xué)習(xí),讀者應(yīng)掌握以下內(nèi)容:v利用利用SELECT語(yǔ)句進(jìn)行單表查詢的方法語(yǔ)句進(jìn)行單表查詢的方法v利用利用SELECT語(yǔ)句進(jìn)行多表連接查詢的方法語(yǔ)句進(jìn)行多表連接查詢的方法v嵌套查詢的方法嵌套查詢的方法
2、SQL ServerSQL Server實(shí)用教程實(shí)用教程Page 32021-12-19q 611 SELECT的語(yǔ)法格式的語(yǔ)法格式SELECT 語(yǔ)句的基本語(yǔ)法格式如下:語(yǔ)句的基本語(yǔ)法格式如下:SELECT INTO 新表名新表名 FROM WHERE 條件表達(dá)式條件表達(dá)式 GROUP BY 列名列表列名列表 HAVING 條件表達(dá)式條件表達(dá)式 ORDER BY 列名列名1ASC|DESC,列名,列名2ASC|DESC, ,列名,列名nASC|DESC COMPUTE 行聚合函數(shù)名(統(tǒng)計(jì)表達(dá)式)行聚合函數(shù)名(統(tǒng)計(jì)表達(dá)式) ,n BY 分類分類表達(dá)式表達(dá)式,nSQL ServerSQL Serv
3、er實(shí)用教程實(shí)用教程Page 42021-12-19q其中各子名說(shuō)明如下:其中各子名說(shuō)明如下:q(1)字段列表用于指出要查詢的字段,也就是)字段列表用于指出要查詢的字段,也就是查詢結(jié)果中包含的字段的名稱。查詢結(jié)果中包含的字段的名稱。q(2)INTO子句用于創(chuàng)建一個(gè)新表,并將查詢結(jié)子句用于創(chuàng)建一個(gè)新表,并將查詢結(jié)果保存到這個(gè)新表中。果保存到這個(gè)新表中。q(3)FROM子句用于指出所要進(jìn)行查詢的數(shù)據(jù)子句用于指出所要進(jìn)行查詢的數(shù)據(jù)來(lái)源,即來(lái)源于哪些表或視圖的名稱。來(lái)源,即來(lái)源于哪些表或視圖的名稱。q(4)WHERE子句用于指出查詢數(shù)據(jù)時(shí)要滿足的子句用于指出查詢數(shù)據(jù)時(shí)要滿足的檢索條件。檢索條件。q(5
4、)GROUP BY子句用于對(duì)查詢結(jié)果分組。子句用于對(duì)查詢結(jié)果分組。q(6)ORDER BY子句用于對(duì)查詢結(jié)果排序。子句用于對(duì)查詢結(jié)果排序。SQL ServerSQL Server實(shí)用教程實(shí)用教程Page 52021-12-19qSELECT語(yǔ)句的功能如下:語(yǔ)句的功能如下:q從從FROM列出的數(shù)據(jù)源表中,找出滿足列出的數(shù)據(jù)源表中,找出滿足WHERE檢索條件的記錄,按檢索條件的記錄,按SELECT子句的字段列表輸子句的字段列表輸出查詢結(jié)果表,在查詢結(jié)果表中可進(jìn)行分組與排出查詢結(jié)果表,在查詢結(jié)果表中可進(jìn)行分組與排序。序。q說(shuō)明:在說(shuō)明:在SELECT語(yǔ)句中語(yǔ)句中SELECT子句與子句與FROM子子句
5、是不可少的,其余的是可選的。句是不可少的,其余的是可選的。SQL ServerSQL Server實(shí)用教程實(shí)用教程Page 62021-12-19q612 基本的基本的SELECT語(yǔ)句語(yǔ)句SELECT語(yǔ)句的基本形式如下:語(yǔ)句的基本形式如下:SELECT FROM WHERE 查詢條件查詢條件q1選擇表中若干列選擇表中若干列USE xsglGOSELECT 學(xué)號(hào)學(xué)號(hào),姓名姓名FROM xsSQL ServerSQL Server實(shí)用教程實(shí)用教程Page 72021-12-192查詢表中全部列(查詢表中全部列(*)q將表中所有屬性都選出來(lái),可以有兩種方法。一將表中所有屬性都選出來(lái),可以有兩種方法。
6、一種方法是在種方法是在SELECT命令后面列出所有列名。如命令后面列出所有列名。如果列的顯示順序與其在基表中的順序相同,也可果列的顯示順序與其在基表中的順序相同,也可以簡(jiǎn)單地將以簡(jiǎn)單地將簡(jiǎn)寫(xiě)為簡(jiǎn)寫(xiě)為“*”。USE xsglGO SELECT *FROM kcGOSQL ServerSQL Server實(shí)用教程實(shí)用教程Page 82021-12-19q 3設(shè)置字段別名設(shè)置字段別名q T-SQL提供了在提供了在SELECT語(yǔ)句中操作別名的方法。用戶可以語(yǔ)句中操作別名的方法。用戶可以根據(jù)實(shí)際需要對(duì)查詢數(shù)據(jù)的列標(biāo)題進(jìn)行修改,或者為沒(méi)有標(biāo)根據(jù)實(shí)際需要對(duì)查詢數(shù)據(jù)的列標(biāo)題進(jìn)行修改,或者為沒(méi)有標(biāo)題的列加上臨時(shí)
7、標(biāo)題。其語(yǔ)法格式為:題的列加上臨時(shí)標(biāo)題。其語(yǔ)法格式為:q 列表達(dá)式列表達(dá)式 as 別名別名q 或:別名或:別名=列表達(dá)式列表達(dá)式q 【例【例6.3】查詢】查詢xsgl數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)的kc表,列出表中的所有記錄,表,列出表中的所有記錄,每個(gè)記錄名稱依次為課程編號(hào),課程名稱,課程學(xué)分及課程每個(gè)記錄名稱依次為課程編號(hào),課程名稱,課程學(xué)分及課程時(shí)數(shù)。時(shí)數(shù)。USE xsglGOSELECT 課程號(hào)課程號(hào) AS 課程編號(hào)課程編號(hào),課程名課程名 AS 課程名稱課程名稱,學(xué)分學(xué)分 AS 課課程學(xué)分程學(xué)分,學(xué)時(shí)數(shù)學(xué)時(shí)數(shù) AS 課程時(shí)數(shù)課程時(shí)數(shù)FROM kcSQL ServerSQL Server實(shí)用教程實(shí)用教程
8、Page 92021-12-19q4查詢經(jīng)過(guò)計(jì)算的值查詢經(jīng)過(guò)計(jì)算的值qSELECT子句的子句的不僅可以是表中的屬性不僅可以是表中的屬性列,也可以是表達(dá)式,包括字符串常量、函數(shù)等。列,也可以是表達(dá)式,包括字符串常量、函數(shù)等。其語(yǔ)法格式為:其語(yǔ)法格式為:q計(jì)算字段名計(jì)算字段名=表達(dá)式表達(dá)式q【例【例6.4】查詢所有學(xué)生的學(xué)號(hào),姓名及年齡。】查詢所有學(xué)生的學(xué)號(hào),姓名及年齡。USE xsglGOSELECT 學(xué)號(hào)學(xué)號(hào),姓名姓名,年齡年齡=DATEDIFF(YY,出生時(shí)出生時(shí)間間,GETDATE()FROM xsGO SQL ServerSQL Server實(shí)用教程實(shí)用教程Page 102021-12-
9、19q5返回全部記錄(返回全部記錄(ALL)q要返回所有記錄可在要返回所有記錄可在SELECT后使用后使用ALL,ALL是是默認(rèn)設(shè)置,因此也可以省略。默認(rèn)設(shè)置,因此也可以省略。q【例【例6.5】 查詢查詢XS表中所有學(xué)生專業(yè)。表中所有學(xué)生專業(yè)。USE xsglGOSELECT 專業(yè)專業(yè)FROM xsGOSQL ServerSQL Server實(shí)用教程實(shí)用教程Page 112021-12-19q 6過(guò)濾重復(fù)記錄(過(guò)濾重復(fù)記錄(DISTINCT)q 在例在例6.5的執(zhí)行結(jié)果集中顯示重復(fù)行。如果讓重復(fù)行只顯的執(zhí)行結(jié)果集中顯示重復(fù)行。如果讓重復(fù)行只顯示一次,需在示一次,需在SELECT子句中用子句中用
10、DISTINCT指定在結(jié)果集指定在結(jié)果集中只能顯示唯一行。中只能顯示唯一行。q 【例【例6.6】 查詢查詢xs表中的學(xué)生所在專業(yè)有哪些。(重復(fù)專表中的學(xué)生所在專業(yè)有哪些。(重復(fù)專業(yè)只顯示一次)。業(yè)只顯示一次)。USE xsglGOSELECT DISTINCT 專業(yè)專業(yè)FROM xsGOSQL ServerSQL Server實(shí)用教程實(shí)用教程Page 122021-12-19q 7僅返回前面若干條記錄僅返回前面若干條記錄q 其語(yǔ)法格式如下:其語(yǔ)法格式如下:SELECT TOP n TOP n PERCENT 列名列名l ,nFROM 表名表名q 其中:其中:TOP n表示返回最前面的表示返回最
11、前面的n行,行,n表示返回的行數(shù)。表示返回的行數(shù)。TOP n PERCENT表示返回的最前面的表示返回的最前面的n行。行。q 【例【例6.7】查詢】查詢xs表中前表中前5條記錄條記錄USE xsglGO SELECT TOP 5 *FROM xsGOSQL ServerSQL Server實(shí)用教程實(shí)用教程Page 132021-12-19q【例【例6.8】查詢】查詢XS表中前面表中前面10行記錄行記錄USE xsglGO SELECT TOP 10 PERCENT *FROM xsGOSQL ServerSQL Server實(shí)用教程實(shí)用教程Page 142021-12-19q 613 使用使用
12、INTO子句子句q 使用使用INTO子句允許用戶定義一個(gè)新表,并且把子句允許用戶定義一個(gè)新表,并且把SELECT子子句的數(shù)據(jù)插入到新表中,其語(yǔ)法格式如下。句的數(shù)據(jù)插入到新表中,其語(yǔ)法格式如下。SELECT INTO 新表名新表名 FROM WHERE 查詢條件查詢條件q 使用使用INTO子句插入數(shù)據(jù)時(shí),應(yīng)注意以下幾點(diǎn):子句插入數(shù)據(jù)時(shí),應(yīng)注意以下幾點(diǎn):(1)新表不能存在,否則會(huì)產(chǎn)生錯(cuò)誤信息。)新表不能存在,否則會(huì)產(chǎn)生錯(cuò)誤信息。(2)新表中的列和行是基于查詢結(jié)果集的。)新表中的列和行是基于查詢結(jié)果集的。(3)使用該子句必須在目的數(shù)據(jù)庫(kù)中具有)使用該子句必須在目的數(shù)據(jù)庫(kù)中具有CREATE TABLE
13、權(quán)權(quán)限。限。(4)如果新表名稱的開(kāi)頭為)如果新表名稱的開(kāi)頭為“#”,則生成的是臨時(shí)表。,則生成的是臨時(shí)表。q 注意:使用注意:使用INTO子句,通過(guò)在子句,通過(guò)在WHERE子句中子句中FALSE條件,條件,可以創(chuàng)建一個(gè)和源表結(jié)構(gòu)相同的空表。可以創(chuàng)建一個(gè)和源表結(jié)構(gòu)相同的空表。SQL ServerSQL Server實(shí)用教程實(shí)用教程Page 152021-12-19q【例【例6.9】創(chuàng)建一個(gè)和】創(chuàng)建一個(gè)和xs表結(jié)構(gòu)相同的表結(jié)構(gòu)相同的xs_new表。表。USE xsglGOSELECT * INTO xs_newFROM xsWHERE 68q設(shè)置設(shè)置“WHERE 68”這樣一個(gè)明顯為邏輯否的這樣一
14、個(gè)明顯為邏輯否的條件的目的是為了只保留條件的目的是為了只保留xs表的結(jié)構(gòu),而不返回表的結(jié)構(gòu),而不返回任何記錄。任何記錄。SQL ServerSQL Server實(shí)用教程實(shí)用教程Page 162021-12-19q【例【例6.10】 查詢所有女生的信息并將結(jié)果保存查詢所有女生的信息并將結(jié)果保存在名為在名為“女生表女生表”的數(shù)據(jù)表中。的數(shù)據(jù)表中。USE xsglGO SELECT * INTO 女生表女生表FROM xsWHERE 性別性別=女女SQL ServerSQL Server實(shí)用教程實(shí)用教程Page 172021-12-19q【例【例6.11】 查詢所有男生的信息并將結(jié)果存入查詢所有男生
15、的信息并將結(jié)果存入臨時(shí)表中。臨時(shí)表中。USE xsglSELECT *INTO #TEMPDBFROM xsWHERE 性別性別=男男q要查看臨時(shí)表的內(nèi)容可用下面的語(yǔ)句:要查看臨時(shí)表的內(nèi)容可用下面的語(yǔ)句:SELECT * FROM #TEMPDBSQL ServerSQL Server實(shí)用教程實(shí)用教程Page 182021-12-19q614 使用使用WHERE子句子句q其語(yǔ)法格式如下:其語(yǔ)法格式如下:SELECT 列名列名1,列名列名nFROM 表名表名WHERE 條件表達(dá)式條件表達(dá)式q使用使用WHERE子句可以限制查詢的記錄范圍。在子句可以限制查詢的記錄范圍。在使用時(shí),使用時(shí),WHERE子
16、句必須緊跟在子句必須緊跟在FROM子句后子句后面。面。WHERE子句中的條件是子句中的條件是個(gè)邏輯表達(dá)式,個(gè)邏輯表達(dá)式,其中可以包含的運(yùn)算符見(jiàn)表其中可以包含的運(yùn)算符見(jiàn)表6-1。SQL ServerSQL Server實(shí)用教程實(shí)用教程Page 192021-12-19SQL ServerSQL Server實(shí)用教程實(shí)用教程Page 202021-12-19q1比較表達(dá)式作查詢條件比較表達(dá)式作查詢條件q比較表達(dá)式是邏輯表達(dá)式的一種,使用比較表達(dá)比較表達(dá)式是邏輯表達(dá)式的一種,使用比較表達(dá)式作為查詢條件的一般表達(dá)形式是:式作為查詢條件的一般表達(dá)形式是:q表達(dá)式表達(dá)式 比較運(yùn)算符比較運(yùn)算符 表達(dá)式表達(dá)式
17、q其中:其中:q表達(dá)式為:常量、變量和列表達(dá)式的任意有效組表達(dá)式為:常量、變量和列表達(dá)式的任意有效組合。合。q比較運(yùn)算符包括:比較運(yùn)算符包括:=(等于)、(等于)、(大于)、(大于)、(不等于)、(不等于)、!(不大于)、(不大于)、!=(大于等于)、(大于等于)、=(小于等(小于等于)、于)、!=(不等于)。(不等于)。SQL ServerSQL Server實(shí)用教程實(shí)用教程Page 212021-12-19q【例【例6.12】 查詢年齡在查詢年齡在23歲以下的學(xué)生。歲以下的學(xué)生。USE xsglGOSELECT 姓名姓名,性別性別,年齡年齡=DATEDIFF(YEAR,出生出生時(shí)間時(shí)間,G
18、ETDATE()FROM xsWHERE DATEDIFF(YEAR,出生時(shí)出生時(shí)間間,GETDATE()=23GOSQL ServerSQL Server實(shí)用教程實(shí)用教程Page 222021-12-19q2邏輯表達(dá)式作查詢條件邏輯表達(dá)式作查詢條件q使用邏輯表達(dá)式作為查詢條件的一般表達(dá)形式是:使用邏輯表達(dá)式作為查詢條件的一般表達(dá)形式是:q表達(dá)式表達(dá)式1 AND|OR表達(dá)式表達(dá)式2, 或或NOT 表達(dá)式表達(dá)式q【例【例6.13】 查詢年齡為查詢年齡為23歲且性別為歲且性別為“女女”的學(xué)的學(xué)生。生。USE xsglGOSELECT 姓名姓名,性別性別,年齡年齡=DATEDIFF(YEAR,出生時(shí)
19、出生時(shí)間間,GETDATE()FROM xsWHERE DATEDIFF(YEAR,出生時(shí)出生時(shí)間間,GETDATE()=23 AND 性別性別=女女SQL ServerSQL Server實(shí)用教程實(shí)用教程Page 232021-12-19q 3使用(使用(NOT)BETWEENAND關(guān)鍵字關(guān)鍵字q 其語(yǔ)法格式為:其語(yǔ)法格式為:q 表達(dá)式表達(dá)式 NOT BETWEEN 表達(dá)式表達(dá)式l AND 表達(dá)式表達(dá)式2q 謂詞可以用來(lái)查找屬性值在(或不在)指定范圍內(nèi)的元組,謂詞可以用來(lái)查找屬性值在(或不在)指定范圍內(nèi)的元組,其中其中BETWEEN后是范圍的下限(即低值),后是范圍的下限(即低值),AND后
20、是范圍后是范圍的上限(即高值)。使用的上限(即高值)。使用BETWEEN限制查詢數(shù)據(jù)范圍時(shí)同限制查詢數(shù)據(jù)范圍時(shí)同時(shí)包括了邊界值,而使用時(shí)包括了邊界值,而使用NOT BETWEEN進(jìn)行查詢時(shí)沒(méi)有進(jìn)行查詢時(shí)沒(méi)有包括邊界值。包括邊界值。q 【例【例6.14】 查詢年齡在查詢年齡在20到到22之間的女學(xué)生的學(xué)號(hào),姓名,之間的女學(xué)生的學(xué)號(hào),姓名,年齡。年齡。USE xsglGOSELECT 姓名姓名,性別性別,年齡年齡=DATEDIFF(YEAR,出生時(shí)出生時(shí)間間,GETDATE()FROM xsWHERE DATEDIFF(YEAR,出生時(shí)出生時(shí)間間,GETDATE()BETWEEN 20 AND 2
21、2 AND 性別性別=女女SQL ServerSQL Server實(shí)用教程實(shí)用教程Page 242021-12-19q 4使用使用IN關(guān)鍵字關(guān)鍵字q 同同BETWEEN關(guān)鍵字一樣,關(guān)鍵字一樣,IN的引入也是為了更方便地限制的引入也是為了更方便地限制檢索數(shù)據(jù)的范圍,靈活使用檢索數(shù)據(jù)的范圍,靈活使用IN關(guān)鍵字,可以用簡(jiǎn)潔的語(yǔ)句實(shí)關(guān)鍵字,可以用簡(jiǎn)潔的語(yǔ)句實(shí)現(xiàn)結(jié)構(gòu)復(fù)雜的查詢。現(xiàn)結(jié)構(gòu)復(fù)雜的查詢。q 語(yǔ)法格式為:語(yǔ)法格式為:q 表達(dá)式表達(dá)式 NOT IN (表達(dá)式(表達(dá)式1,表達(dá)式表達(dá)式2,表達(dá)式表達(dá)式n)q 如果如果“表達(dá)式表達(dá)式”的值是謂詞的值是謂詞IN后面括號(hào)中列出的表達(dá)式后面括號(hào)中列出的表達(dá)式1,
22、表達(dá)式表達(dá)式2,表達(dá)式表達(dá)式n的值之一,則條件為真。的值之一,則條件為真。q 【例【例6.15】查詢選修了】查詢選修了“a003”和和“j003”的學(xué)生的學(xué)號(hào)。的學(xué)生的學(xué)號(hào)。USE xsglGOSELECT DISTINCT 學(xué)號(hào)學(xué)號(hào)FROM cjWHERE 課程號(hào)課程號(hào) IN (a003, j003)GOSQL ServerSQL Server實(shí)用教程實(shí)用教程Page 252021-12-19q5使用使用LIKE關(guān)鍵字關(guān)鍵字q語(yǔ)法格式:語(yǔ)法格式:q表達(dá)式表達(dá)式 NOT LIKE q其含義是查找指定的屬性列值與其含義是查找指定的屬性列值與相匹配相匹配的元組。的元組??梢允且粋€(gè)完整的字符串,也可
23、以是一個(gè)完整的字符串,也可以含有通配符??梢院型ㄅ浞QL Server提供了以下提供了以下4種通配種通配符供用戶靈活實(shí)現(xiàn)復(fù)雜的查詢條件。符供用戶靈活實(shí)現(xiàn)復(fù)雜的查詢條件。v(百分號(hào)):表示從(百分號(hào)):表示從0到到n個(gè)任意字符。個(gè)任意字符。v_(下劃線):表示單個(gè)的任意字符。(下劃線):表示單個(gè)的任意字符。v(封閉方括號(hào)):表示方括號(hào)里列出的任意一個(gè)字符。(封閉方括號(hào)):表示方括號(hào)里列出的任意一個(gè)字符。v:任意一個(gè)沒(méi)有在方括號(hào)里列出的字符。:任意一個(gè)沒(méi)有在方括號(hào)里列出的字符。q需要注意的是,以上所有通配符都只有在需要注意的是,以上所有通配符都只有在LIKE子句子句中才有意義,否則通配符會(huì)被
24、當(dāng)作普通字符處理。中才有意義,否則通配符會(huì)被當(dāng)作普通字符處理。SQL ServerSQL Server實(shí)用教程實(shí)用教程Page 262021-12-19q【例【例6.16】查詢姓】查詢姓“張張”學(xué)生的學(xué)號(hào)及姓名學(xué)生的學(xué)號(hào)及姓名USE xsglGOSELECT 學(xué)號(hào)學(xué)號(hào),姓名姓名FROM xsWHERE 姓名姓名 LIKE 張張%GO注意:通配符和字符串必須括在單引號(hào)中。要查找注意:通配符和字符串必須括在單引號(hào)中。要查找通配符本身時(shí),需將它們用方括號(hào)括起來(lái)。例如:通配符本身時(shí),需將它們用方括號(hào)括起來(lái)。例如:LIKE 表示要匹配表示要匹配“”。SQL ServerSQL Server實(shí)用教程實(shí)用教
25、程Page 272021-12-19q 6涉及空值的查詢涉及空值的查詢q 對(duì)于空值(對(duì)于空值(NULL)要用)要用IS 進(jìn)行連接,不能用進(jìn)行連接,不能用“=”代替。代替。q 【例【例6.17】查詢選修了課程卻沒(méi)有成績(jī)的學(xué)生的學(xué)號(hào)。】查詢選修了課程卻沒(méi)有成績(jī)的學(xué)生的學(xué)號(hào)。USE xsGOSELECT 學(xué)號(hào)學(xué)號(hào)FROM cjWHERE 成績(jī)成績(jī) IS NULLGOSQL ServerSQL Server實(shí)用教程實(shí)用教程Page 282021-12-19q615 使用使用ORDER BY子句子句q對(duì)查詢的結(jié)果進(jìn)行排序,通過(guò)使用對(duì)查詢的結(jié)果進(jìn)行排序,通過(guò)使用ORDER BY子句子句實(shí)現(xiàn)。實(shí)現(xiàn)。q語(yǔ)法格
26、式如下:語(yǔ)法格式如下:qORDER BY表達(dá)式表達(dá)式1 ASCDESC,nq其中,表達(dá)式給出排序依據(jù),即按照表達(dá)式的值升其中,表達(dá)式給出排序依據(jù),即按照表達(dá)式的值升序(序(ASC)或降序()或降序(DESC)排列查詢結(jié)果。在默認(rèn))排列查詢結(jié)果。在默認(rèn)的情況下,的情況下,ORDER BY按升序進(jìn)行排列,即默認(rèn)使按升序進(jìn)行排列,即默認(rèn)使用的是用的是ASC關(guān)鍵字。關(guān)鍵字。q不能按不能按ntext、text或或image類型的列排序,因此類型的列排序,因此ntext、text或或image類型的列不允許出現(xiàn)在類型的列不允許出現(xiàn)在ORDER BY子句中。子句中。SQL ServerSQL Server實(shí)
27、用教程實(shí)用教程Page 292021-12-19q 【例【例6.18】 按年齡從小到大的順序顯示女學(xué)生按年齡從小到大的順序顯示女學(xué)生的姓名,性別及出生時(shí)間。的姓名,性別及出生時(shí)間。USE xsglGOSELECT 姓名姓名,性別性別,出生時(shí)間出生時(shí)間FROM xsWHERE 性別性別=女女ORDER BY 出生時(shí)間出生時(shí)間 DESCGOSQL ServerSQL Server實(shí)用教程實(shí)用教程Page 302021-12-19q為了進(jìn)一步方便用戶,增強(qiáng)檢索功能,為了進(jìn)一步方便用戶,增強(qiáng)檢索功能,SELECT語(yǔ)句中的統(tǒng)計(jì)功能可以對(duì)查詢結(jié)果集進(jìn)行求和、語(yǔ)句中的統(tǒng)計(jì)功能可以對(duì)查詢結(jié)果集進(jìn)行求和、求平均
28、值、求最大最小值等操作。統(tǒng)計(jì)的方法是求平均值、求最大最小值等操作。統(tǒng)計(jì)的方法是通過(guò)集合函數(shù)和通過(guò)集合函數(shù)和GROUP BY子句、子句、COMPUTE子子句進(jìn)行組合來(lái)實(shí)現(xiàn)。句進(jìn)行組合來(lái)實(shí)現(xiàn)。q621 使用集合函數(shù)使用集合函數(shù)q匯總查詢是把存儲(chǔ)在數(shù)據(jù)庫(kù)中的數(shù)據(jù)作為一個(gè)整匯總查詢是把存儲(chǔ)在數(shù)據(jù)庫(kù)中的數(shù)據(jù)作為一個(gè)整體,對(duì)查詢結(jié)果得到的數(shù)據(jù)集合進(jìn)行匯總或求平體,對(duì)查詢結(jié)果得到的數(shù)據(jù)集合進(jìn)行匯總或求平均值等各種運(yùn)算。均值等各種運(yùn)算。SQL Server提供了一系列統(tǒng)提供了一系列統(tǒng)計(jì)函數(shù),用于實(shí)現(xiàn)匯總查詢。常用的統(tǒng)計(jì)函數(shù)見(jiàn)計(jì)函數(shù),用于實(shí)現(xiàn)匯總查詢。常用的統(tǒng)計(jì)函數(shù)見(jiàn)表表6-2。SQL ServerSQL Se
29、rver實(shí)用教程實(shí)用教程Page 312021-12-19SQL ServerSQL Server實(shí)用教程實(shí)用教程Page 322021-12-19q【例【例6.19】查詢學(xué)生總?cè)藬?shù)】查詢學(xué)生總?cè)藬?shù)USE xsglGOSELECT 學(xué)生總?cè)藬?shù)學(xué)生總?cè)藬?shù)=COUNT(*)FROM xsGOq查詢結(jié)果如圖查詢結(jié)果如圖6.17所示所示SQL ServerSQL Server實(shí)用教程實(shí)用教程Page 332021-12-19q 如果指定如果指定DISTINCT短語(yǔ),則表示在計(jì)算時(shí)要取消指定列短語(yǔ),則表示在計(jì)算時(shí)要取消指定列中的重復(fù)值。如果不指定中的重復(fù)值。如果不指定DISTINCT短語(yǔ)或指定短語(yǔ)或指定
30、ALL短語(yǔ)短語(yǔ)(ALL為缺省值),則表示不取消重復(fù)值。為缺省值),則表示不取消重復(fù)值。q 【例【例6.20】查詢選修了】查詢選修了“a003”課程的學(xué)生人數(shù)。課程的學(xué)生人數(shù)。USE xsglGOSELECT 選課人數(shù)選課人數(shù)=COUNT(DISTINCT 學(xué)號(hào)學(xué)號(hào))FROM cjWHERE 課程號(hào)課程號(hào)=a003GOSQL ServerSQL Server實(shí)用教程實(shí)用教程Page 342021-12-19q【例【例6.21】 查詢選修了查詢選修了“a001”號(hào)課程的學(xué)生號(hào)課程的學(xué)生最高分?jǐn)?shù)。最高分?jǐn)?shù)。USE xsglGOSELECT a001課程最高分課程最高分=MAX(成績(jī)成績(jī))FROM c
31、jWHERE 課程號(hào)課程號(hào)=a001GOSQL ServerSQL Server實(shí)用教程實(shí)用教程Page 352021-12-19q622 使用使用GROUP BY子句子句q其語(yǔ)法格式如下。其語(yǔ)法格式如下。qGROUP BY 列名列名qHAVING 條件表達(dá)式條件表達(dá)式qHAVING 條件表達(dá)式選項(xiàng)是對(duì)生成的組進(jìn)行篩選。條件表達(dá)式選項(xiàng)是對(duì)生成的組進(jìn)行篩選。SQL ServerSQL Server實(shí)用教程實(shí)用教程Page 362021-12-19q 【例【例6.22】 在在xs表中分專業(yè)統(tǒng)計(jì)出男生和女生的平均年表中分專業(yè)統(tǒng)計(jì)出男生和女生的平均年齡及人數(shù),結(jié)果按性別排序。齡及人數(shù),結(jié)果按性別排序。
32、USE xsglGOSELECT 專業(yè)專業(yè),性別性別, AVG(DATEDIFF(YEAR,出生時(shí)間出生時(shí)間,GETDATE() AS平均平均年齡年齡, COUNT(*) AS 人數(shù)人數(shù)FROM xsGROUP BY 專業(yè)專業(yè),性別性別ORDER BY 性別性別GOSQL ServerSQL Server實(shí)用教程實(shí)用教程Page 372021-12-19q【例【例6.23】查詢】查詢cj表中平均成績(jī)大于表中平均成績(jī)大于80分的學(xué)生分的學(xué)生的學(xué)號(hào)、平均分,并按分?jǐn)?shù)由高到低排序。的學(xué)號(hào)、平均分,并按分?jǐn)?shù)由高到低排序。USE xsglGOSELECT 學(xué)號(hào)學(xué)號(hào), AVG(成績(jī)成績(jī)) AS平均成績(jī)平均
33、成績(jī)FROM cjGROUP BY 學(xué)號(hào)學(xué)號(hào)HAVING AVG(成績(jī)成績(jī))=80 ORDER BY AVG(成績(jī)成績(jī)) DESCGOSQL ServerSQL Server實(shí)用教程實(shí)用教程Page 382021-12-19注意:注意:WHERE子句是對(duì)表中的記錄進(jìn)行篩選,而子句是對(duì)表中的記錄進(jìn)行篩選,而HAVING子句是對(duì)組內(nèi)的記錄進(jìn)行篩選,在子句是對(duì)組內(nèi)的記錄進(jìn)行篩選,在HAVING子句中可以使用集合函數(shù),并且其統(tǒng)計(jì)子句中可以使用集合函數(shù),并且其統(tǒng)計(jì)運(yùn)算的集合是組內(nèi)的所有列值,而運(yùn)算的集合是組內(nèi)的所有列值,而WHERE子句子句中不能使用集合函數(shù)。中不能使用集合函數(shù)。SQL ServerSQ
34、L Server實(shí)用教程實(shí)用教程Page 392021-12-19q 623 使用使用COMPUTE子句子句q 使用使用COMPUTE BY子句,它對(duì)子句,它對(duì)BY后面給出的列進(jìn)行分組顯示,并計(jì)算該后面給出的列進(jìn)行分組顯示,并計(jì)算該列的分組小計(jì)。其語(yǔ)法格式如下:列的分組小計(jì)。其語(yǔ)法格式如下:q COMPUTE 集合函數(shù)集合函數(shù) BY 分類表達(dá)式分類表達(dá)式q 注意:注意:q (1)COMPUTE或或COMPUTE BY子句中的表達(dá)式,必須出現(xiàn)在選擇列子句中的表達(dá)式,必須出現(xiàn)在選擇列表中,并且必須將其指定為與選擇列表中的某個(gè)表達(dá)式完全一樣,不能使表中,并且必須將其指定為與選擇列表中的某個(gè)表達(dá)式完全
35、一樣,不能使用在選擇列表中指定的列的別名。用在選擇列表中指定的列的別名。q (2)在)在COMPUTE或或COMPUTE BY子句中,不能指定為子句中,不能指定為ntext、text和和image數(shù)據(jù)類型。數(shù)據(jù)類型。q (3)如果使用)如果使用COMPUTE BY,則必須也使用,則必須也使用ORDER BY子句。表達(dá)式子句。表達(dá)式必須與在必須與在ORDER BY后列出的子句相同或是其子集,并且必須按相同的后列出的子句相同或是其子集,并且必須按相同的序列。例如,如果序列。例如,如果ORDER BY子句是:子句是:ORDER BY a,b,c 則則COMPUTE子句可以是下面的任意一個(gè)(或全部),
36、即:子句可以是下面的任意一個(gè)(或全部),即:q COMPUTE BY a,b,cq COMPUTE BY a,bq COMPUTE BY aq (4)在)在SELECT INTO語(yǔ)句中不能使用語(yǔ)句中不能使用COMPUTE。因此,任何由。因此,任何由COMPUTE生成的計(jì)算結(jié)果不出現(xiàn)在用生成的計(jì)算結(jié)果不出現(xiàn)在用SELECT INTO語(yǔ)句創(chuàng)建的新表內(nèi)。語(yǔ)句創(chuàng)建的新表內(nèi)。SQL ServerSQL Server實(shí)用教程實(shí)用教程Page 402021-12-19q【例【例6.24】在】在cj表中求每門課程成績(jī)大于表中求每門課程成績(jī)大于90分的分的人數(shù),并顯示統(tǒng)計(jì)的明細(xì)。人數(shù),并顯示統(tǒng)計(jì)的明細(xì)。USE
37、xsglGOSELECT *FROM cjWHERE 成績(jī)成績(jī)=90ORDER BY 課程號(hào)課程號(hào)COMPUTE COUNT(課程號(hào)課程號(hào)) BY 課程號(hào)課程號(hào)GOSQL ServerSQL Server實(shí)用教程實(shí)用教程Page 412021-12-19q 在實(shí)際工作中,我們所查詢的內(nèi)容往往是涉及在實(shí)際工作中,我們所查詢的內(nèi)容往往是涉及多張表中的內(nèi)容。連接查詢的目的是通過(guò)加載連多張表中的內(nèi)容。連接查詢的目的是通過(guò)加載連接字段條件將多個(gè)表連接起來(lái),以便從多個(gè)表中接字段條件將多個(gè)表連接起來(lái),以便從多個(gè)表中檢索用戶所需要的數(shù)據(jù)。在檢索用戶所需要的數(shù)據(jù)。在SQL Server中連接中連接查詢類型分為交
38、叉連接、內(nèi)連接、外連接、自連查詢類型分為交叉連接、內(nèi)連接、外連接、自連接。連接查詢就是關(guān)系運(yùn)算的連接運(yùn)算,它是從接。連接查詢就是關(guān)系運(yùn)算的連接運(yùn)算,它是從多個(gè)數(shù)據(jù)源間(多個(gè)數(shù)據(jù)源間(FORM)查詢滿足)查詢滿足定條件的記定條件的記錄。錄。 SQL ServerSQL Server實(shí)用教程實(shí)用教程Page 422021-12-19q 交叉連接也叫非限制連接,它是將兩個(gè)表不加任何約束地交叉連接也叫非限制連接,它是將兩個(gè)表不加任何約束地組合起來(lái)。也就是將第一個(gè)表的所有行分別與第二個(gè)表的組合起來(lái)。也就是將第一個(gè)表的所有行分別與第二個(gè)表的每行形成一條新的記錄,連接后該結(jié)果集的行數(shù)等于兩個(gè)每行形成一條新的
39、記錄,連接后該結(jié)果集的行數(shù)等于兩個(gè)表的行數(shù)積,列數(shù)等于兩個(gè)表的列數(shù)和。在數(shù)學(xué)上,就是表的行數(shù)積,列數(shù)等于兩個(gè)表的列數(shù)和。在數(shù)學(xué)上,就是兩個(gè)表的笛卡爾積,在實(shí)際應(yīng)用中一般是沒(méi)有意義的,但兩個(gè)表的笛卡爾積,在實(shí)際應(yīng)用中一般是沒(méi)有意義的,但在數(shù)據(jù)庫(kù)的數(shù)學(xué)模式上有重要的作用。在數(shù)據(jù)庫(kù)的數(shù)學(xué)模式上有重要的作用。q 其語(yǔ)法結(jié)構(gòu)如下:其語(yǔ)法結(jié)構(gòu)如下:SELECT 列名列表列名列表 FROM 表名表名1 CROSS JOIN 表名表名2或者或者 SELECT 列名列表列名列表 FROM 表名表名1, 表名表名2SQL ServerSQL Server實(shí)用教程實(shí)用教程Page 432021-12-19q內(nèi)連接也
40、叫自然連接,它是組合兩個(gè)表的常用方內(nèi)連接也叫自然連接,它是組合兩個(gè)表的常用方法。內(nèi)連接就是只包含滿足連接條件的數(shù)據(jù)行,法。內(nèi)連接就是只包含滿足連接條件的數(shù)據(jù)行,是將交叉連接結(jié)果集按照連接條件進(jìn)行過(guò)濾的結(jié)是將交叉連接結(jié)果集按照連接條件進(jìn)行過(guò)濾的結(jié)果。連接條件通常采用果。連接條件通常采用“主鍵主鍵= 外鍵外鍵”的形式。的形式。內(nèi)連接有以下兩種語(yǔ)法格式。內(nèi)連接有以下兩種語(yǔ)法格式。 q其語(yǔ)法結(jié)構(gòu)如下:其語(yǔ)法結(jié)構(gòu)如下:SELECT 列名列表列名列表 FROM 表名表名1 INNER JOIN 表名表名2 ON 表名表名1.列名列名=表名表名2.列名列名 或或SELECT 列名列表列名列表 FROM 表名
41、表名1, 表名表名2 WHERE 表名表名1.列名列名=表名表名2.列名列名SQL ServerSQL Server實(shí)用教程實(shí)用教程Page 442021-12-19q在自然連接中,只有在兩個(gè)表中匹配的才能在結(jié)在自然連接中,只有在兩個(gè)表中匹配的才能在結(jié)果集中出現(xiàn)。而在外連接中可以只限制一個(gè)表,果集中出現(xiàn)。而在外連接中可以只限制一個(gè)表,而對(duì)另外一個(gè)表不加限制(即另外一個(gè)表中的所而對(duì)另外一個(gè)表不加限制(即另外一個(gè)表中的所有行都出現(xiàn)在結(jié)果集中)。有行都出現(xiàn)在結(jié)果集中)。q外連接分為左外連接、右外連接和全外連接。左外連接分為左外連接、右外連接和全外連接。左外連接是對(duì)連接條件中左邊的表不加限制;右外外連
42、接是對(duì)連接條件中左邊的表不加限制;右外連接是對(duì)右邊的表不加限制;全外連接對(duì)兩個(gè)表連接是對(duì)右邊的表不加限制;全外連接對(duì)兩個(gè)表都不加限制,所有兩個(gè)表中的行都會(huì)包括在結(jié)果都不加限制,所有兩個(gè)表中的行都會(huì)包括在結(jié)果集中。集中。SQL ServerSQL Server實(shí)用教程實(shí)用教程Page 452021-12-19q1左外連接左外連接SELECT 列名列表列名列表 FROM 表名表名1 AS A LEFT OUTER JOIN 表名表名2 AS B ON A. 列名列名=B. 列名列名 q2右外連接右外連接q其語(yǔ)法格式如下:其語(yǔ)法格式如下:SELECT 列名列表列名列表 FROM 表名表名1 AS A
43、 RIGHT OUTER JOIN 表名表名2 AS B ON A. 列名列名=B. 列列名名 SQL ServerSQL Server實(shí)用教程實(shí)用教程Page 462021-12-19q3全外連接全外連接q其語(yǔ)法格式如下:其語(yǔ)法格式如下: SELECT 列名列表列名列表 FROM 表名表名1 AS A FULL OUTER JOIN 表名表名2 AS B ON A. 列名列名=B. 列名列名SQL ServerSQL Server實(shí)用教程實(shí)用教程Page 472021-12-19q連接操作不僅可以在不同的表上進(jìn)行,也可以在連接操作不僅可以在不同的表上進(jìn)行,也可以在同一張表內(nèi)進(jìn)行自身連接,即將
44、同一個(gè)表的不同同一張表內(nèi)進(jìn)行自身連接,即將同一個(gè)表的不同行連接起來(lái)。自連接可以看作一張表的兩個(gè)副本行連接起來(lái)。自連接可以看作一張表的兩個(gè)副本之間的連接。表名在之間的連接。表名在FROM 子句中出現(xiàn)兩次,必子句中出現(xiàn)兩次,必須對(duì)表指定不同的別名,在須對(duì)表指定不同的別名,在SELECT 子句中引用子句中引用的列名也要使用表的別名進(jìn)行限定,使之在邏輯的列名也要使用表的別名進(jìn)行限定,使之在邏輯上成為兩張表。上成為兩張表。SQL ServerSQL Server實(shí)用教程實(shí)用教程Page 482021-12-19q 合并查詢也稱聯(lián)合查詢是將兩個(gè)或兩個(gè)以上的查詢結(jié)果合并,形成一合并查詢也稱聯(lián)合查詢是將兩個(gè)或
45、兩個(gè)以上的查詢結(jié)果合并,形成一個(gè)具有綜合信息的查詢結(jié)果。使用個(gè)具有綜合信息的查詢結(jié)果。使用UNION語(yǔ)句可以把兩個(gè)或兩個(gè)以語(yǔ)句可以把兩個(gè)或兩個(gè)以上的查詢結(jié)果集合并為一個(gè)結(jié)果集。上的查詢結(jié)果集合并為一個(gè)結(jié)果集。q 其語(yǔ)法格式如下:其語(yǔ)法格式如下:q 查詢語(yǔ)句查詢語(yǔ)句q UNION ALLq 查詢語(yǔ)句查詢語(yǔ)句q 注意注意:q (1)聯(lián)合查詢是將兩個(gè)表(結(jié)果集)順序連接。)聯(lián)合查詢是將兩個(gè)表(結(jié)果集)順序連接。q (2)UNION中的每一個(gè)查詢所涉及到的列必須具有相同的列數(shù)、中的每一個(gè)查詢所涉及到的列必須具有相同的列數(shù)、相同位置的列的數(shù)據(jù)類型要相同。若長(zhǎng)度不同,以最長(zhǎng)的字段作為輸相同位置的列的數(shù)據(jù)類
46、型要相同。若長(zhǎng)度不同,以最長(zhǎng)的字段作為輸出字段的長(zhǎng)度。出字段的長(zhǎng)度。q (3)最后結(jié)果集中的列名來(lái)自第一個(gè))最后結(jié)果集中的列名來(lái)自第一個(gè)SELECT語(yǔ)句。語(yǔ)句。q (4)最后一個(gè))最后一個(gè)SELECT查詢可以帶查詢可以帶ORDER BY子句,對(duì)整個(gè)子句,對(duì)整個(gè)UNION操作操作q 結(jié)果集起作用。且只能用第一個(gè)結(jié)果集起作用。且只能用第一個(gè)SELECT查詢中的字段作排序列。查詢中的字段作排序列。q (5)系統(tǒng)自動(dòng)刪除結(jié)果集中重復(fù)的記錄,除非使用)系統(tǒng)自動(dòng)刪除結(jié)果集中重復(fù)的記錄,除非使用ALL關(guān)鍵字。關(guān)鍵字。SQL ServerSQL Server實(shí)用教程實(shí)用教程Page 492021-12-19q
47、在在SQL語(yǔ)言中,一個(gè)語(yǔ)言中,一個(gè)SELECT-FROM-WHERE語(yǔ)語(yǔ)句稱為一個(gè)查詢塊。將一個(gè)查詢塊嵌套在另一個(gè)句稱為一個(gè)查詢塊。將一個(gè)查詢塊嵌套在另一個(gè)查詢塊的查詢塊的WHERE子句或子句或HAVING短語(yǔ)的條件中短語(yǔ)的條件中的查詢稱為子查詢。子查詢總是寫(xiě)在圓括號(hào)中,的查詢稱為子查詢。子查詢總是寫(xiě)在圓括號(hào)中,可以用在使用表達(dá)式的任何地方。上層的查詢塊可以用在使用表達(dá)式的任何地方。上層的查詢塊稱為外層查詢或父查詢,下層查詢塊稱為內(nèi)查詢稱為外層查詢或父查詢,下層查詢塊稱為內(nèi)查詢或子查詢?;蜃硬樵?。SQL語(yǔ)言允許多層嵌套查詢。即一個(gè)語(yǔ)言允許多層嵌套查詢。即一個(gè)子查詢中還可以嵌套其他子查詢。子查詢
48、中還可以嵌套其他子查詢。q注意:子查詢的注意:子查詢的SELECT語(yǔ)句中不能使用語(yǔ)句中不能使用ORDER BY子句,子句,ORDER BY子句只能對(duì)最終查詢結(jié)果子句只能對(duì)最終查詢結(jié)果排序。排序。SQL ServerSQL Server實(shí)用教程實(shí)用教程Page 502021-12-19q嵌套子查詢的執(zhí)行不依賴于外部嵌套。其一般的嵌套子查詢的執(zhí)行不依賴于外部嵌套。其一般的求解方法是由里向外處理。即每個(gè)子查詢?cè)谏弦磺蠼夥椒ㄊ怯衫锵蛲馓幚?。即每個(gè)子查詢?cè)谏弦患?jí)查詢處理之前求解,子查詢的結(jié)果用于建立其級(jí)查詢處理之前求解,子查詢的結(jié)果用于建立其父查詢的查找條件。父查詢的查找條件。q1比較測(cè)試中的子查詢比較
49、測(cè)試中的子查詢q比較測(cè)試中的子查詢是指父查詢與子查詢之間用比較測(cè)試中的子查詢是指父查詢與子查詢之間用比較運(yùn)算符進(jìn)行連接。但是用戶必須確切地知道比較運(yùn)算符進(jìn)行連接。但是用戶必須確切地知道子查詢返回的是一個(gè)單值,否則數(shù)據(jù)庫(kù)服務(wù)器將子查詢返回的是一個(gè)單值,否則數(shù)據(jù)庫(kù)服務(wù)器將報(bào)錯(cuò)。返回的單個(gè)值被外部查詢的比較操作(如:報(bào)錯(cuò)。返回的單個(gè)值被外部查詢的比較操作(如:=、!=、=)使用,該值可以是)使用,該值可以是子查詢中使用集合函數(shù)得到的值。子查詢中使用集合函數(shù)得到的值。SQL ServerSQL Server實(shí)用教程實(shí)用教程Page 512021-12-19q 【例【例6.33】求選修了哲學(xué)課程的學(xué)生的
50、學(xué)號(hào)及姓名。】求選修了哲學(xué)課程的學(xué)生的學(xué)號(hào)及姓名。USE xsglGOSELECT xs.學(xué)號(hào)學(xué)號(hào),姓名姓名,專業(yè)專業(yè)FROM xs,cjWHERE xs.學(xué)號(hào)學(xué)號(hào)=cj.學(xué)號(hào)學(xué)號(hào) AND cj.課程號(hào)課程號(hào)=(SELECT 課程號(hào)課程號(hào)FROM kcWHERE 課程名課程名=哲學(xué)哲學(xué))GOSQL ServerSQL Server實(shí)用教程實(shí)用教程Page 522021-12-19q 【例【例6.34】在】在xs表中查詢和表中查詢和“程明程明”在同一專業(yè)的所有在同一專業(yè)的所有男同學(xué)信息。男同學(xué)信息。USE xsglGOSELECT *FROM xsWHERE 性別性別=男男 AND 專業(yè)專業(yè)=(
51、SELECT 專業(yè)專業(yè) FROM xs WHERE 姓名姓名=程明程明)AND 姓名姓名程明程明GOSQL ServerSQL Server實(shí)用教程實(shí)用教程Page 532021-12-19q 集合成員測(cè)試中的子查詢是指父查詢與子查詢之間用集合成員測(cè)試中的子查詢是指父查詢與子查詢之間用IN或或NOT IN進(jìn)行連接,判斷某個(gè)屬性列值是否在子查詢的進(jìn)行連接,判斷某個(gè)屬性列值是否在子查詢的結(jié)果中,通常子查詢的結(jié)果是一個(gè)集合。結(jié)果中,通常子查詢的結(jié)果是一個(gè)集合。IN表示屬于,表示屬于,即外部查詢中用于判斷的表達(dá)式的值與子查詢返回的值列即外部查詢中用于判斷的表達(dá)式的值與子查詢返回的值列表中的一個(gè)值相等;表中的一個(gè)值相等;NOT IN表示不屬于。表示不屬于。q 【例【例6.35】 求選修了學(xué)分為求選修了學(xué)分為5分的課程的學(xué)生的學(xué)號(hào)及分的課程的學(xué)生的學(xué)號(hào)及姓名。姓名。USE xsglGOSELECT DISTINCT xs.學(xué)號(hào)學(xué)號(hào),姓名姓名,專業(yè)專業(yè)FROM xs,cjWHERE xs.學(xué)號(hào)學(xué)號(hào)=cj.學(xué)號(hào)學(xué)號(hào) AND cj.課程號(hào)課程號(hào) IN(SELECT 課程號(hào)課程號(hào) FROM
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024銷售代理合同標(biāo)準(zhǔn)范本
- 2025年度快遞物流服務(wù)質(zhì)量提升服務(wù)合同范本4篇
- 2024年高鐵信息系統(tǒng)電腦設(shè)備采購(gòu)合同
- 2025年度城市軌道交通建設(shè)貸款擔(dān)保合同3篇
- 2025年高科技廠房建筑設(shè)計(jì)與施工總承包協(xié)議4篇
- 2024年05月2024銀行校園招考微信群筆試歷年參考題庫(kù)附帶答案詳解
- 2025年度文化創(chuàng)意園區(qū)場(chǎng)地租賃及合作開(kāi)發(fā)協(xié)議4篇
- 2024年04月安徽農(nóng)商銀行社會(huì)招考筆試筆試歷年參考題庫(kù)附帶答案詳解
- 2024版加工服務(wù)與協(xié)作協(xié)議版B版
- 2024版無(wú)償車庫(kù)租賃協(xié)議樣本版B版
- 影視劇制作投資分紅協(xié)議
- 2024-2025學(xué)年成都青羊區(qū)九上數(shù)學(xué)期末考試試卷【含答案】
- 2025年競(jìng)聘醫(yī)院內(nèi)科醫(yī)生崗位演講稿模版(3篇)
- 虛擬貨幣地址分析技術(shù)的研究-洞察分析
- 綠色供應(yīng)鏈管理制度內(nèi)容
- 心理學(xué)基礎(chǔ)知識(shí)考試參考題庫(kù)500題(含答案)
- 電力智慧檢修安全運(yùn)行三維可視化管理平臺(tái)建設(shè)方案
- 一年級(jí)數(shù)學(xué)(上)計(jì)算題專項(xiàng)練習(xí)集錦
- 消防安全應(yīng)急預(yù)案下載
- 《北航空氣動(dòng)力學(xué)》課件
- 附件:財(cái)政業(yè)務(wù)基礎(chǔ)數(shù)據(jù)規(guī)范(3.0版)
評(píng)論
0/150
提交評(píng)論