高等教育SQL-Server-課件_第1頁
高等教育SQL-Server-課件_第2頁
高等教育SQL-Server-課件_第3頁
高等教育SQL-Server-課件_第4頁
高等教育SQL-Server-課件_第5頁
已閱讀5頁,還剩55頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

Transact-SQL語言Transact-SQL語言1Transact-SQL語言SQL是一種結(jié)構(gòu)化查詢語言,它包括數(shù)據(jù)定義、查詢、操縱和控制四個方面的功能,是一種功能齊全的數(shù)據(jù)庫語言。SQL是ANSI(美國國家標準局)確認的關(guān)系型數(shù)據(jù)庫語言標準,因此無論是像Oracle,Sybase,Informix,SQLServer這些大型數(shù)據(jù)庫管理系統(tǒng),還是像VisualFoxPro等微機上常用的數(shù)據(jù)庫開發(fā)系統(tǒng),都支持SQL語言作為查詢語言。

Transact-SQL語言SQL是一種結(jié)構(gòu)化查詢語言,它包SQL語言及其特點1)非過程化語言在SQL語言中,數(shù)據(jù)的存取路徑并不一定要求用戶指定,存取路徑的選擇和SQL語言的操作過程都是由系統(tǒng)自動完成的,用戶只需提出“做什么”,而不必指明“怎么做”,從而提高了數(shù)據(jù)的獨立性。

SQL語言及其特點1)非過程化語言2)統(tǒng)一的語言SQL語言集數(shù)據(jù)定義語言(DDL)、數(shù)據(jù)操縱語言(DML)和數(shù)據(jù)控制語言(DCL)的功能于一體,可以獨立完成數(shù)據(jù)庫生命周期中的全部活動,包括定義關(guān)系模式、建立數(shù)據(jù)庫、錄入數(shù)據(jù)、查詢、更新、維護、數(shù)據(jù)庫安全性控制等一系列操作,為數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)提供良好的環(huán)境。以前的數(shù)據(jù)庫管理系統(tǒng)為上述各類操作提供單獨的語言,而SQL可用于所有的用戶的數(shù)據(jù)庫活動模型,包括系統(tǒng)管理員、數(shù)據(jù)庫管理、應(yīng)用程序員、決策支持系統(tǒng)人員及許多其他類型的終端用戶,將全部任務(wù)統(tǒng)一在一種語言中。SQL語言及其特點2)統(tǒng)一的語言SQL語言及其特點3)是所有關(guān)系數(shù)據(jù)庫的公共語言由于所有主要的關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS)都支持SQL語言,所以用戶可以將使用SQL的技能從一個RDBMS轉(zhuǎn)到另一個RDBMS,所有用SQL編寫的程序都可以從一個RDBMS移植的另一個RDBMS。SQL語言及其特點3)是所有關(guān)系數(shù)據(jù)庫的公共語言SQL語言及其特點運算符P94算術(shù)運算符包括加(+)、減(-)、乘(*)、除(/)和取模(%)賦值運算符Transact-SQL中只有一個賦值運算符,即等號(=)位運算符包括按位與(&)、按位或(|)、按位異或(^)和求反(~)。位運算符用來對整型數(shù)據(jù)或者二進制數(shù)據(jù)(image數(shù)據(jù)類型除外)之間執(zhí)行位操作。要求在位運算符左右兩側(cè)的操作數(shù)不能同時是二進制數(shù)據(jù)。運算符P94算術(shù)運算符運算符比較運算符比較運算符包括:等于(=)、大于(>)、大于或等于(>=)、小于(<)、小于或等于(<=)、不等于(<>或!=)、不小于(!<)、不大于(!>)。邏輯運算符邏輯運算符包括與(AND)、或(OR)和非(NOT)等運算符。邏輯運算返回布爾值,值為TRUE或FALSE。字符串連接運算符(+)例如:‘a(chǎn)bc’+‘123’‘a(chǎn)bc123’運算符比較運算符ALL、ANY分別用于判斷一個表達式的值與一個子查詢結(jié)果集合中的所有或任一個值間的關(guān)系是滿足指定的比較條件。它們的語法格式為:expression{=|!=|>|>=|!>|<|<=|!<}{ALL|ANY}(subquery)其中,expression為被測試表達式。Subquery為子查詢,它返回單列的結(jié)果集合,其中的集合成員具有相同的數(shù)據(jù)類型。EXISTS表示子查詢包含任何行時,為真。運算符ALL、ANY運算符運算符的優(yōu)先級括號:();乘、除、求模運算符:*,/,%;加減運算符:+,-;比較運算符:=,>,<,>=,<=,<>,!=,!>,!<;位運算符:^,&,|;邏輯運算符:NOT;邏輯運算符:AND;邏輯運算符:OR。運算符運算符的優(yōu)先級運算符變量變量是一種語言中必不可少的組成部分。Transact-SQL語言中有兩種形式的變量,一種是用戶自己定義的局部變量,另外一種是系統(tǒng)提供的全局變量。變量變量是一種語言中必不可少的組成部分。Transact-S全局變量全局變量在整個SQLServer系統(tǒng)內(nèi)使用。存儲的通常是一些SQLServer的配置設(shè)定值和統(tǒng)計數(shù)據(jù)。在使用全局變量時應(yīng)該注意以下幾點:全局變量是在服務(wù)器級定義的。用戶只能使用預(yù)先定義的全局變量。引用全局變量時,必須以標記符“@@”開頭。全局變量對用戶來說是只讀的。局部變量的名稱不能與全局變量的名稱相同。SQLServer中可用的系統(tǒng)全局變量見P102表4.5全局變量全局變量在整個SQLServer系統(tǒng)內(nèi)使用。存儲的局部變量P103局部變量是一個能夠擁有特定數(shù)據(jù)類型的對象,它的作用范圍僅限制在程序內(nèi)部。利用局部變量可以保存程序執(zhí)行過程中的中間數(shù)據(jù)值,保存由存儲過程返回的數(shù)據(jù)值等。局部變量被引用時要在其名稱前加上標志“@”,而且必須先用DECLARE命令定義后才可以使用。局部變量P103局部變量是一個能夠擁有特定數(shù)據(jù)類型的局部變量局部變量的定義

DECLAER@local_variabledata_type[,@local_variabledata_type…]

局部變量的賦值方法

SET@local_variable=expression[,@local_variable=expression]或者SELECT@local_variable=expression[,@local_variable=expression]局部變量局部變量的定義控制語句P110流程控制語句是指那些用來控制程序執(zhí)行和流程分支的命令,在SQLServer2000中,流程控制語句主要用來控制SQL語句、語句塊或者存儲過程的執(zhí)行流程??刂普Z句P110流程控制語句是指那些用來控制程序執(zhí)行BEGIN…END程序塊BEGIN…END能夠?qū)⒍鄠€Transact-SQL語句組合成一個語句塊,并將它們視為一個單元處理。在條件語句和循環(huán)等控制流程語句中,當符合特定條件便要執(zhí)行兩個或者多個語句時,就需要使用BEGIN…END語句,其語法形式為:BEGIN

{sql_statement

|statement_block

}

END

BEGIN…END程序塊BEGIN…END能夠?qū)⒍鄠€TranIF…ELSE語句IF…ELSE語句是條件判斷語句,其中,ELSE子句是可選的,最簡單的IF語句沒有ELSE子句部分。IF…ELSE語句用來判斷當某一條件成立時執(zhí)行某段程序,條件不成立時執(zhí)行另一段程序。SQLServer允許嵌套使用IF…ELSE語句,而且嵌套層數(shù)沒有限制。IF…ELSE語句IF…ELSE語句是條件判斷語句,其中,EIF…ELSE語句IF…ELSE語句的語法形式

IFBoolean_expression

{sql_statement|statement_block}

[ELSE

{sql_statement|statement_block}]

例:對X、Y、Z三個數(shù)排序輸出。使用SET和SELECT對變量賦值的區(qū)別使用PRINT和SELECT輸出變量值的區(qū)別IF…ELSE語句IF…ELSE語句的語法形式CASE語句CASE語句嚴格說起來,不叫語句,應(yīng)該叫CASE表達式(或叫函數(shù)),因為它不能單獨執(zhí)行,只能作為其它語句中的一部分。CASE表達式可以計算多個條件式,并將其中一個符合條件的結(jié)果表達式返回。CASE表達式按照使用形式的不同,可以分為簡單CASE表達式和搜索CASE表達式。CASE語句CASE語句嚴格說起來,不叫語句,應(yīng)該叫CASE簡單CASE表達式CASEinput_expression

WHENwhen_expressionTHENresult_expression

[...n]

ELSEelse_result_expression

END

例:DECLARE@xint,@yintSET@x=‘2’SET@y=CASE@xWHEN‘1’THEN@x+5WHEN‘2’THEN@x*5ENDSELECT@x,@y簡單CASE表達式CASEinput_expression搜索CASE表達式CASE

WHENBoolean_expressionTHENresult_expression

[...n]

ELSEelse_result_expressionEND

例:DECLARE@xint,@yint

CASEWHEN@x=‘1’THEN@x+5WHEN@x=‘2’THEN@x*5END搜索CASE表達式CASE

WHENBoolean_exWHILE…CONTINUE…BREAK語句WHILE…CONTINUE…BREAK語句用于設(shè)置重復(fù)執(zhí)行SQL語句或語句塊的條件。只要指定的條件為真,就重復(fù)執(zhí)行語句。其中,CONTINUE語句可以使程序跳過CONTINUE語句后面的語句,回到WHILE循環(huán)的第一行命令。BREAK語句則使程序完全跳出循環(huán),結(jié)束WHILE語句的執(zhí)行。

WHILE語句可以嵌套使用。WHILE…CONTINUE…BREAK語句WHILE…COWHILE…CONTINUE…BREAK語句結(jié)束WHILE語句的語法形式為:WHILEBoolean_expression

BEGIN

{sql_statement|statement_block}

[BREAK]

{sql_statement|statement_block}

[CONTINUE]

{sql_statement|statement_block}

END例:P113【例4.8】求出150~180之間的所有素數(shù)。WHILE…CONTINUE…BREAK語句結(jié)束WHILE語WAITFOR語句WAITFOR語句用于暫時停止執(zhí)行SQL語句、語句塊或者存儲過程等,直到所設(shè)定的時間已過或者所設(shè)定的時間已到才繼續(xù)執(zhí)行。WAITFOR語句的語法形式為:

WAITFOR{DELAY'time'|TIME'time'}

其中,DELAY用于指定時間間隔,TIME用于指定某一時刻,其數(shù)據(jù)類型為datetime,格式為‘hh:mm:ss’。WAITFOR語句WAITFOR語句用于暫時停止執(zhí)行SQL語RETURN語句RETURN語句用于無條件地終止一個查詢、存儲過程或者批處理,此時位于RETURN語句之后的程序?qū)⒉粫粓?zhí)行。RETURN語句的語法形式為:

RETURN[integer_expression

]

其中,參數(shù)integer_expression為返回的整型值。存儲過程可以給調(diào)用過程或應(yīng)用程序返回整型值。RETURN語句RETURN語句用于無條件地終止一個查詢、存SQL語言的命令SQL功能命令動詞說明數(shù)據(jù)定義語言(DDL)CREATE按特點的模式創(chuàng)建一個新表、視圖和表索引ALTERTABLE修改表結(jié)構(gòu)DROP刪除一張表、視圖、表索引數(shù)據(jù)操縱語言(DML)SELECT從一個表或多個表中查詢行和列INSERT向一個表中增加行UPDATE更新表中存在行的某幾列DELETE從一個表中刪除行數(shù)據(jù)控制語言(DCL)GRANT向用戶授予操作權(quán)限REVOKE向用戶收回操作權(quán)限SQL語言的命令SQL功能命令動詞說明數(shù)據(jù)定義語言(DDL)數(shù)據(jù)定義P1141)定義基本表CREATETABLE<表名>(<列名><數(shù)據(jù)類型>〔約束條件〕〔,<列名><數(shù)據(jù)類型>〔約束條件〕…〕);

數(shù)據(jù)定義P1141)定義基本表2)修改基本表ALTERTABLE<表名>〔ADD<新列名><數(shù)據(jù)類型>〔約束條件〕〕〔DROP<約束條件>〕〔MODIFY(<新列名><數(shù)據(jù)類型>)〕;3)刪除基本表DROPTABLE<表名>;數(shù)據(jù)定義P1192)修改基本表數(shù)據(jù)定義P1193)建立索引CREATE〔UNIQUE〕〔CLUSTER〕INDEX<索引名>

ON<表名>(<列名>〔<次序>〕〔,<列名>〔<次序>〕〕…);數(shù)據(jù)定義3)建立索引數(shù)據(jù)定義4)修改索引ALTERINDEX<索引名>TO[NOT]CLUSTER;5)刪除索引DROPINDEX<索引名>;數(shù)據(jù)定義4)修改索引數(shù)據(jù)定義數(shù)據(jù)操縱語言P124數(shù)據(jù)操縱語言(DML)是指用來查詢、添加、修改和刪除數(shù)據(jù)庫中數(shù)據(jù)的語言,這些語言包括以下四種:SELECT語句INSERT語句UPDATE語句DELETE語句數(shù)據(jù)操縱語言P124數(shù)據(jù)操縱語言(DML)是指用來SELECT語句SELECT語句從數(shù)據(jù)庫中檢索行,并允許從一個或多個表中選擇一個或多個行或列。根據(jù)WHERE子句中的表達式,從表中找出滿足條件的元組,形成結(jié)果表。SELECT語句的基本格式如下:SELECT[Distinct][ALL|TOPn]<目標列表達式>[,<目標列表達式>]…[INTOnew_table]FROM<表名或視圖名>[,<表名或視圖名>]…[WHERE<條件表達式>][GROUPBY<分組列名>[HAVING<條件表達式>]][ORDERBY<列名>[ASC|DESC][,<列名>[ASC|DESC]]

…]其中,[]表示可選項。

SELECT語句SELECT語句從數(shù)據(jù)庫中檢索行,并允許從一SELECT語句的意義是:根據(jù)FROM子句中提供的表,按照WHERE子句中的條件(表間的連接條件和選擇條件)表達式,從表中找出滿足條件的記錄。按照SELECT子句中給出的目標列,選出記錄中的字段值,形成查詢結(jié)果的數(shù)據(jù)表。目標列上可以是字段名,字段表達式,也可以是使用匯總函數(shù)對字段值進行統(tǒng)計計算的值。SELECT語句的功能很強??梢酝瓿蓪Ω鞣N數(shù)據(jù)的查詢,可以通過WHERE子句的變化,以不同的語句形式,完成相同的查詢?nèi)蝿?wù)。SELECT還可以以子查詢形式嵌入到SELECT語句、INSERT(插入記錄)語句、DELETE(刪除記錄)語句和UPDATE(修改記錄)語句中,作為這些語句操作的條件,構(gòu)成嵌套查詢或帶有查詢的更新(增、刪、改)語句。SELECT語句SELECT語句的意義是:根據(jù)FROM子句中提供的表,按照WSELECT語句中各字句的作用如下:①

SELECT子句:用來指定由查詢返回的列(字段)。②

INTO子句:用來創(chuàng)建新表,并將查詢結(jié)果行插入新表中。③

FROM子句:用來指定從中查詢行的表。④

WHERE子句:用來指定限制返回的行的搜索條件。⑤

GROUPBY子句:用來指定查詢結(jié)果的分組條件,可以利用它進行分組匯總。⑥HAVING子句:必須跟隨GROUPBY使用,用來指定分組必須滿足的條件。HAVING子句能使用累計函數(shù)(如SUM,AVG等函數(shù)),而WHERE子句不能。⑦

ORDERBY子句:用來指定結(jié)果集的排序方式。SELECT語句SELECT語句中各字句的作用如下:SELECT語句SELECT語句單表查詢(不帶條件查詢)查詢指定屬性列查詢所有屬性列重命名查詢的屬性列名對查詢結(jié)果排序消除查詢?nèi)≈抵貜?fù)的行SELECT語句單表查詢(不帶條件查詢)條件查詢Where子句用來設(shè)置一個篩選條件,使得查詢結(jié)果中僅包含那些滿足條件的數(shù)據(jù)。比較運算符利用空值查詢BETWEEN關(guān)鍵字在WHERE子句中,可以使用BETWEEN、NOTBETWEEN兩個運算符來確定表達式的取值是否在范圍之內(nèi),并以此作為篩選的條件。用法是:SELECTselect_listFROMtable_sourceWHEREexpression[NOT]BETWEENexpressionANDexpression其中:[]表示可選項。條件查詢Where子句用來設(shè)置一個篩選條件,使得查詢結(jié)果中條件查詢IN關(guān)鍵字在WHERE子句中,可以使用IN、NOTIN兩個運算符來確定表達式的取值是否屬于列表值之一,并以此作為篩選的條件。用法是:SELECTselect_listFROMtable_sourceWHEREexpression[NOT]IN(value_list)其中:[]表示可選項,value_list表示值列表,若有多個值,值之間用逗號分隔。條件查詢IN關(guān)鍵字條件查詢P95LIKE關(guān)鍵字LIKE、NOTLIKE字符串匹配運算符可以把表達式與字符串進行比較,并以此作為篩選的條件。用法是:SELECTselect_listFROMtable_sourceWHEREexpression[NOT]LIKE‘string’

其中:[]表示可選項,string表示用來進行比較的字符串。在string中,可以使用通配符,以實現(xiàn)對字符串的模糊查詢。SQLServer提供了四種通配符:%代表任意多個字符,_(下劃線)代表單個字符,[]代表指定范圍內(nèi)的單個字符,[^]代表不在指定范圍內(nèi)的單個字符。

注:含通配符的字符串須用單引號引起來。

條件查詢P95LIKE關(guān)鍵字匯總數(shù)據(jù)匯總函數(shù)會將某個特定的一組數(shù)值進行計算并將結(jié)果以單一值來返回。除了count函數(shù)之外,其余的匯總函數(shù)會忽略所有Null的值?!銇碚f,其匯總函數(shù)通常會與SELECT語句中的GROUPBY一起使用。要使用匯總函數(shù)之前,必須要注意總和并不是適用在每一個TRANSACT-SQL語句中使用,它只能在如下所示的語句或子句中來使用:(1)SELECT語句的選擇列表(子查詢或外部查詢)。(2)COMPUTE或COMPUTEBY子句。(3)HAVING子句。匯總數(shù)據(jù)匯總函數(shù)會將某個特定的一組數(shù)值進行計算并將結(jié)果以單一簡單的計算查詢P109

聚合函數(shù)在函數(shù)執(zhí)行過程中對某一數(shù)據(jù)集(表)中的數(shù)據(jù)進行聚合運算,執(zhí)行完畢后的輸出結(jié)果是一個簡單的數(shù)值。用于計算檢索的函數(shù)有:1)COUNT求一組值中一共有多少個2)SUM為一組值求和3)AVG為一組值求平均值4)MAX求一組值中最大值5)MIN求一組值中最小值這些函數(shù)可以用在SELECT短語中對查詢結(jié)果進行計算簡單的計算查詢P109聚合函數(shù)在函數(shù)執(zhí)行過程中對某一數(shù)分組與計算查詢

GROUPBY子句通常用于對某一個數(shù)據(jù)集(或表)中的某一列上具有相同值的數(shù)據(jù)進行操作,即按指定列上值相等的原則分組,然后再對組進行相應(yīng)的操作,這稱為分組查詢。GROUPBY子句用來為結(jié)果集中的每一行產(chǎn)生集合值。如果集合函數(shù)沒有使用GROUPBY子句,則只為SELECT語句報告一個集合值。HAVING子句指定組或集合的搜索條件,HAVING通常與GROUPBY一起使用。HAVING的行為與WHERE子句一樣,惟一差別就是HAVING子句可以使用累計函數(shù)。分組與計算查詢GROUPBY子句通常用于對某一個數(shù)據(jù)集(子查詢

子查詢是一個包含在另一條SELECT語句里的SELECT語句。外層的SELECT語句叫外部查詢,內(nèi)層的SELECT語句叫內(nèi)部查詢(或子查詢)。通常,任何允許使用表達式的地方都可以使用子查詢。包含子查詢的SELECT語句主要采用以下格式中的一種:1)WHEREexpression[NOT]IN(subquery)2)WHEREexpressioncomparison_operator[ANY|ALL](subquery)3)WHEREexpression[NOT]EXISTS(subquery)子查詢子查詢是一個包含在另一條SELECT語句里的SELE子查詢P94使用IN的子查詢使用IN(或NOTIN)引入的子查詢返回的查詢結(jié)果是一列,該列有零值或更多值。子查詢返回結(jié)果之后,外部查詢可以使用這些結(jié)果。其格式為:WHEREexpression[NOT]IN(subquery)子查詢P94使用IN的子查詢子查詢P94使用比較運算符的子查詢子查詢可由一個比較運算符引入。比較運算符可以是=、<>、>、>=、<、!>,!<或<=等等。其格式為:WHEREexpressioncomparison_operator[ANY|ALL](subquery)其中:comparison_operator為比較運算符,ALL表示子查詢subquery返回的查詢結(jié)果中的每一個值,ANY表示子查詢中的任意一個值。子查詢P94使用比較運算符的子查詢子查詢使用EXISTS的子查詢使用EXISTS(或NOTEXISTS)關(guān)鍵字引入一個子查詢時,就相當于進行一次存在測試。外部查詢的WHERE子句測試子查詢返回的行是否存在。子查詢實際上不產(chǎn)生任何數(shù)據(jù);它只返回TRUE或FALSE值。其格式:WHERE[NOT]EXISTS(subquery)子查詢使用EXISTS的子查詢連接查詢P129連接查詢可以在FROM或WHERE子句中指定連接條件,建議在FROM子句中指定連接,因為這樣可以將指定的連接條件與WHERE子句中可能指定的搜索條件分開,連接查詢的主要用法是:

SELECTselect_listFROMfirst_tablejoin_typesecond_table[ON(連接條件)][WHERE篩選條件][ORDERBY排序表達式[DESC]]其中,join_type指定所執(zhí)行的連接類型,”連接條件”指定連接條件。連接類型可分為內(nèi)連接(INNERJOIN)、外連接(OUTERJOIN)和交叉(CROSSJOIN)三類。連接查詢P129連接查詢可以在FROM或WHERE子內(nèi)連接(INNERJOIN)它利用兩個關(guān)系中共有的一個屬性,將該屬性值相等的元組內(nèi)容連接起來,去掉其中的重復(fù)屬性作為新的關(guān)系中的一個元組。連接過程:執(zhí)行連接時,系統(tǒng)先將左邊的表記錄指針定位在首記錄上,然后再右邊的表中尋找符合條件的記錄,每找到一個就與左邊的表中的當前記錄按指定字段進行連接,生成目標結(jié)果集中的一條記錄;待右邊的記錄都處理完后,當前表的記錄指針則再向下移動一個記錄;重復(fù)上述尋找與連接過程,直至當前表的所有記錄處理完為止。內(nèi)連接(INNERJOIN)它利用兩個關(guān)系中共有的一個屬性外連接(OUTERJOIN)外連接中參與連接的表有主從之分,以主表的每行數(shù)據(jù)去匹配從表的數(shù)據(jù)行,符合連接條件的數(shù)據(jù)將直接返回到查詢結(jié)果中;如果主表的行在從表中沒有相匹配的行,與內(nèi)連接丟棄不匹配行的做法不同,主表的行不會被丟棄,而是也返回到查詢結(jié)果中,相對應(yīng)的從表的行的列位置將被填上NULL值后再返回到結(jié)果集中。外連接又分為:左連接(LEFTOUTERJOIN)右連接(RIGHTOUTERJOIN)完全連接(FULLOUTERJOIN)(兩個連接表中的所有數(shù)據(jù)行)

外連接(OUTERJOIN)外連接中參與連接的表有主從之分交叉(CROSSJOIN)交叉連接產(chǎn)生的查詢結(jié)果的行數(shù)為第一個表的行數(shù)乘以第二個表的行數(shù)。注意:如果交叉連接帶有WHERE子句,則交叉連接的作用同內(nèi)連接一樣。

交叉(CROSSJOIN)交叉連接產(chǎn)生的查詢結(jié)果的行數(shù)為第自連接自連接中,使用同一個表的相同列進行比較連接。這時,對于同一個表應(yīng)給出不同的的別名。自連接自連接中,使用同一個表的相同列進行比較連接。這時,對于聯(lián)合查詢聯(lián)合查詢就是使用UNION字句將來自不同查詢的結(jié)果合并成為一個結(jié)果,UNION會自動將重復(fù)的數(shù)據(jù)行刪除。帶UNION子句的SELECT語句的主要用法是:SELECTselect_listFROMtable_source[WHERE篩選條件]{UNIONSELECTselect_listFROMtable_source[WHERE篩選條件]}[,...n]ORDERBY{排序表達式[DESC]}[,...n]其中:[]表示可選項;{}表示必選項;[,...n]表示前面的項可重復(fù)n次注意:為了進行并運算,要求進行并運算的兩個查詢結(jié)果具有相同的字段個數(shù),并且具有相同的數(shù)據(jù)類型和取值范圍。

聯(lián)合查詢聯(lián)合查詢就是使用UNION字句將來自不同查詢的結(jié)果合基于查詢生成新表有時候可能需要將查詢結(jié)果保存下來,使用INTO子句可以生成一個新表并將查詢結(jié)果保存在這個新表中。其主要用法是:SELECTselect_listINTOnew_tableFROMtable_source[WHEREsearch_condition]其中:new_table為要新建的表的名稱?;诓樵兩尚卤碛袝r候可能需要將查詢結(jié)果保存下來,使用INTINSERT(P131)INSERTINTO表名(字段1,字段2,…字段m)values(值1,值2,…值m)表名:表示將要添加數(shù)據(jù)的表。字段1,字段2,…字段m:表示將要用后面的值添加數(shù)據(jù)的列值1,值2,…值m:是要向上述列中添加的數(shù)據(jù)注意:如果表中某列定義了IDENTITY屬性或者將某列的DEFAULT屬性定義成NEWID(),則這樣的列的值不能用INSERT語句給出,而是在使用INSERT語句添加新行時由系統(tǒng)自動生成。INSERT(P

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論