資源描述:
《SQl server 數(shù)據(jù)操作實例.ppt》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第6章數(shù)據(jù)操作實例查詢數(shù)據(jù)6.1添加數(shù)據(jù)6.2修改數(shù)據(jù)6.3刪除數(shù)據(jù)6.46.1查詢數(shù)據(jù)所謂查詢,就是對已經(jīng)存在于數(shù)據(jù)庫中的數(shù)據(jù)按特定的組合、條件或次序進(jìn)行檢索。查詢功能是數(shù)據(jù)庫最基本也是最重要的功能。6.1.1SELECT語句SELECT語句的語法如下:SELECTselect_list[INTOnew_table_name]FROMtable_list[WHEREsearch_conditions][GROUPBYgroup_by_list][HAVINGsearch_conditions][OR
2、DERBYorder_list[ASC
3、DESC]]其中各參數(shù)的含義如下。(1)select_list描述結(jié)果集的列,它指定了結(jié)果集中要包含的列的名稱,是一個逗號分隔的表達(dá)式列表。(2)INTOnew_table_name指定使用結(jié)果集來創(chuàng)建新表。new_table_name指定新表的名稱。(3)FROMtable_list指定要從中檢索數(shù)據(jù)的表名或視圖名。(4)WHEREsearch_conditionsWHERE子句是一個篩選條件,它定義了源表中的行要滿足SELECT語句的要求所必須達(dá)到的條件。(
4、5)GROUPBYgroup_by_listGROUPBY子句根據(jù)group_by_list列中的值將結(jié)果集分成組。(6)HAVINGsearch_conditionsHAVING子句是應(yīng)用于結(jié)果集的附加篩選,用來向使用GROUPBY子句的查詢中添加數(shù)據(jù)過濾準(zhǔn)則。(7)ORDERBYorder_list[ASC
5、DESC]ORDERBY子句定義了結(jié)果集中行的排序順序。6.1.2選擇查詢一般查詢都不是針對全表所有行的查詢,只是從整個表中選出滿足指定條件的內(nèi)容,這就要用到WHERE子句。以下是選擇行的基本
6、語法:SELECTSELECT_LISTFROMTABLE_LISTWHERESEARCH_CONDITIONS其中,SEARCH_CONDITIONS為選擇查詢結(jié)果的條件。SQLServer支持比較、范圍、列表、字符串匹配等選擇方法。1.比較搜索條件MicrosoftSQLServer2005使用表6-1列出的比較運(yùn)算符。運(yùn)算符含義運(yùn)算符含義=等于<>不等于(SQL-92兼容)>大于!>不大于<小于!<不小于>=大于或等于!=不等于<=小于或等于表6-1比較運(yùn)算符2.范圍搜索條件范圍搜索返回介于兩個
7、指定值之間的所有值,可分為包括范圍和排他范圍兩種類型。3.列表搜索條件IN關(guān)鍵字使用戶可以選擇與列表中的任意值匹配的行。4.搜索條件中的模式匹配LIKE關(guān)鍵字搜索與指定模式匹配的字符串、日期或時間值。模式包含要搜索的字符串,字符串中可包含4種通配符的任意組合,搜索條件中可用的通配符如表6-2所示。通配符含義%包含零個或多個字符的任意字符串_任何單個字符[]代表指定范圍內(nèi)的單個字符,[]中可以是單個字符(如[acef]),也可以是字符范圍(如[a-f])[^]代表不在指定范圍內(nèi)的單個字符,[^]中可以是
8、單個字符(如[^acef]),也可以是字符范圍(如[^a-f])表6-2LIKE關(guān)鍵字對應(yīng)的通配符6.1.3聚合函數(shù)聚合函數(shù)對一組值執(zhí)行計算,并返回單個值。Transact-SQL提供下列聚合函數(shù)。1.AVG用于計算查詢結(jié)果的平均值。2.MAX該函數(shù)用于查找最大值。3.MIN該函數(shù)用于查找最小值。4.SUM該函數(shù)計算查詢到的數(shù)據(jù)值的總和。5.COUNT該函數(shù)可以計算查詢到的結(jié)果的數(shù)目。6.1.4數(shù)據(jù)分組使用GROUPBY子句可以按一定的條件對查詢到的結(jié)果進(jìn)行分組,再對每一組數(shù)據(jù)計算統(tǒng)計信息。6.1.5
9、子查詢子查詢是一個嵌套在SELECT、INSERT、UPDATE或DELETE語句或其他子查詢中的查詢。子查詢分為兩種:嵌套子查詢和相關(guān)子查詢。1.嵌套子查詢嵌套子查詢的執(zhí)行不依賴于外部查詢。嵌套子查詢在外部查詢之前執(zhí)行,然后返回數(shù)據(jù)供外部查詢使用,嵌套子查詢中不包含對于外部查詢的任何引用。2.相關(guān)子查詢相關(guān)子查詢在執(zhí)行時,要使用到外部查詢的數(shù)據(jù)。外部查詢首先選擇數(shù)據(jù)提供給子查詢,然后子查詢對數(shù)據(jù)進(jìn)行比較,執(zhí)行結(jié)束后再將它的查詢結(jié)果返回到它的外部查詢中。6.1.6表連接在數(shù)據(jù)庫應(yīng)用中,經(jīng)常需要從多個相
10、關(guān)的表中查詢數(shù)據(jù),這就需要進(jìn)行表連接。1.使用內(nèi)部連接內(nèi)部連接也叫自然連接,是將兩個表中的列進(jìn)行比較,將兩個表中滿足連接條件的行組合起來作為結(jié)果,它是最常見的表連接形式。內(nèi)部連接有以下兩種語法形式:SELECT選擇列表FROM表名1,表名2WHERE表名1.列名1=表名2.列名2或者SELECT選擇列表FROM表名1[INNER]JOIN表名2ON表名1.列名1=表名2.列名22.使用外部連接外部連接會返回FROM子句中提到的至少一個表或視圖中的所有行,