歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > PPT文檔下載  

第07章 基本SQL語句課件.ppt

  • 資源ID:23845467       資源大?。?span id="tpd97pb" class="font-tahoma">215KB        全文頁數(shù):36頁
  • 資源格式: PPT        下載積分:5積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要5積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。

第07章 基本SQL語句課件.ppt

第 7章 基 本 SQL語 句Transact-SQL語言是Microsoft為SQL Server開發(fā)的一種標準化SQL語言的實現(xiàn),也是SQL Server的核心。不過,Transact-SQL并非嚴格按照標準化SQL語言實現(xiàn),而是對標準化SQL語言進行了一定程度上的裁剪和拓展。本章主要介紹Transact-SQL語言的基本語句。 7.1 Transact-SQL語 言Transact-SQL語言是對標準SQL語言的實現(xiàn)。不過,由于不同的數(shù)據(jù)庫系統(tǒng),廠商實現(xiàn)的SQL語言并不相同,這就導致了數(shù)據(jù)庫的具體SQL語言間存在一定程度上的差異。所以,用戶在使用SQL語言時,一定要明確特定SQL語言的特殊性,而且應盡量使用標準化SQL語句,而不要去使用那些特殊性的SQL語句。 7.2 數(shù) 據(jù) 定 義 語 言Transact-SQL語言是一種數(shù)據(jù)定義語言。所謂數(shù)據(jù)定義語言,是指用于定義數(shù)據(jù)格式的語言。這里所說的數(shù)據(jù)格式是存儲數(shù)據(jù)的結構以及所存儲數(shù)據(jù)項之間的關系。數(shù)據(jù)格式定義包括創(chuàng)建格式、刪除格式、更改格式,而對應的語句分別為CEATE語句、DROP語句、ALTER語句。REVOKE語句是處理權限的主要語句。CEATE語句、DROP語句、ALTER語句和REVOKE等語句并不是一個語句,而是一組語句。 7.2.1 CREATE語 句 : 創(chuàng) 建 數(shù) 據(jù) 庫CREATE語句主要用于數(shù)據(jù)定義,包括定義數(shù)據(jù)的格式,以及其他屬性。其中,數(shù)據(jù)定義的格式和屬性限制了插入數(shù)據(jù)庫中的數(shù)據(jù)的格式。所以,在數(shù)據(jù)庫設計時,數(shù)據(jù)定義階段的工作很重要。為了做好數(shù)據(jù)定義工作,在定義數(shù)據(jù)結構前,用戶需要對企業(yè)的常用數(shù)據(jù)的格式進行分析。 7.2.2 DROP語 句 : 刪 除 數(shù) 據(jù) 庫在SQL Server里,DROP語句和CREATE語句是對應的,二者甚至在形式和數(shù)目上都很相同。如CREATE DATABASE語句對應于DROP DATABASE語句。不過,DROP語句一般都是較為簡單的,不像CREATE語句那樣具有復雜的語法結構。一般情況下,DROP語句的格式如下。DROP 對象 對象名 7.2.3 ALTER語 句 : 修 改 數(shù) 據(jù) 庫從ALTER語句的含義來看,ALTER語句是很友好的。因為ALTER語句能夠在定義對象后,對對象進行修改。不過,實際的情況卻并不如想象中那么好。在對象設計階段,可以使用ALTER修改,但是在現(xiàn)實工作中,用戶最好不要使用ALTER語句。該語句可能造成數(shù)據(jù)的丟失或數(shù)據(jù)精度的降低。 7.2.4 REVOKE語 句 : 安 全 性 語 句上面介紹的語句都是關于數(shù)據(jù)庫對象的,這里的REVOKE語句則是關于安全性的。REVOKE語句、GRANT語句以及DENY等語句定義了對象的權限。關于權限,將在后文中敘述。這里只是強調(diào)說明權限也是數(shù)據(jù)定義的一部分。 7.3 數(shù) 據(jù) 操 縱 語 言在使用數(shù)據(jù)定義語言(DDL)定義了數(shù)據(jù)存儲的格式和位置后,用戶就可以使用數(shù)據(jù)操縱語言(DML)來操作定義的對象。數(shù)據(jù)操縱語言主要包括數(shù)據(jù)查詢與數(shù)據(jù)更新,其中,數(shù)據(jù)查詢主要是SELECT,而數(shù)據(jù)更新則包括插入(INSERT語句)、更新(UPDATE語句)、刪除(DELETE語句)。這四類語句可以簡稱為“查增改刪”。 7.3.1 SELECT語 句 : 查 詢 數(shù) 據(jù)所有基于數(shù)據(jù)庫的應用系統(tǒng)都會使用SELECT語句從數(shù)據(jù)庫中提取數(shù)據(jù),并將獲得的數(shù)據(jù)按用戶的要求輸出給用戶。根據(jù)用戶使用具體SELECT語句的不同,數(shù)據(jù)庫從不同角度向用戶展示數(shù)據(jù)庫中的數(shù)據(jù)。SELECT語句執(zhí)行后,將返回一組記錄,而這組記錄就是記錄集(結果集)。不過,SELECT語句是很復雜的。 7.3.2 INSERT語 句 : 插 入 數(shù) 據(jù)在SQL Server中,INSERT語句負責向數(shù)據(jù)庫中插入記錄。在獲取一條新的記錄后,就需要使用INSERT語句向數(shù)據(jù)庫插入一個新行(記錄)。 7.3.3 UPDATE語 句 : 更 新 數(shù) 據(jù)在使用INSERT語句向數(shù)據(jù)庫中插入數(shù)據(jù)后,數(shù)據(jù)就保存到了數(shù)據(jù)庫中。不過,如果外界數(shù)據(jù)發(fā)生變化,就需要對數(shù)據(jù)庫中的數(shù)據(jù)進行更新。在SQL Server中,主要使用UPDATE語句更新數(shù)據(jù)庫中的數(shù)據(jù),特別是更新部分字段。與INSERT不同,這里并不插入新行(記錄),而是修改原行(記錄)。 7.3.4 Delete語 句 : 刪 除 數(shù) 據(jù)如果表中的數(shù)據(jù)不再使用或已經(jīng)備份完畢,那么為了釋放服務器的資源,就需要及時刪除表中的數(shù)據(jù)。 7.4 其 他 常 用 語 句上面介紹了SELECT、INSERT、UPDATE、DELETE等語句的基本形式。下面將介紹一些常用的子句,這些子句在與上述4個語句配合使用時,可以實現(xiàn)更加強大的數(shù)據(jù)操作功能。1帶WHERE子句的SELECT語句2帶WHERE子句的UPDATE語句3帶WHERE子句的DELETE語句 7.4.1 WHERE子句:給出條件語句在SQL Server中,WHERE子句可以用于SELECT語句、DELETE語句、UPDATE語句中。1帶WHERE子句的SELECT語句2帶WHERE子句的UPDATE語句3帶WHERE子句的DELETE語句 7.4.2 帶 AND關 鍵 字 的 WHERE子 句在介紹AND關鍵字之前,需要介紹一下布爾表達式。所謂布爾表達式是指表達式的各成分由關系連接符連接,而且表達式的值為TRUE或FALSE。其中,用于連接布爾表達式的連接詞有NOT(非)、AND(積)、OR(和)3個。這里將以AND為例,介紹這3個連接詞。 7.4.3 GROUP BY子 句 : 分 組 語 句GROUP BY子句具有符合ISO的語法和不符合ISO的語法兩種結構。在一條SELECT語句中只能使用一種語法樣式,在這里,用戶使用符合ISO的語法,因為不符合ISO語法的目的是為了實現(xiàn)向后兼容。這里僅介紹符合ISO的語法,如下。 1不帶WHERE子句僅含GROUP BY子句的SELECT語句 2帶WHERE子句和GROUP BY子句的SELECT語句 7.4.4 HAVING子 句 : 分 組 條 件HAVING子句通常在GROUP BY子句中使用。如果不使用GROUP BY子句,那么HAVING的行為與WHERE子句一樣。不過,這種方式不推薦使用,因為有很多限制。HAVING子句的所有列都必須出現(xiàn)在SELECT語句的列表中。具體HAVING子句的用法大致分為以下幾種情況。1帶HAVING子句而不帶WHERE子句的SELECT語句2帶HAVING子句和WHERE子句的SELECT語句 7.4.5 ORDER BY子 句 : 排 序 語 句ORDER BY子句用在指定SELECT語句返回的結果集后,主要用于對結果集進行排序。在默認情況下,由SELECT語句返回結果集中的記錄是按照表中記錄的物理順序排列的。 7.4.6 TOP子 句 : 查 看 前 幾 條 記 錄TOP表達式可用在SELECT、INSERT、UPDATE和DELETE語句中。不過,TOP表達式主要用于SELECT語句中,其表達式語法結構如下。TOP (Expression) PERCENT WITH TIES 7.4.7 DISTINCT子 句 : 去 掉 重 復 記 錄提到關鍵字DISTINCT,就不得不提到關鍵字ALL。ALL是指結果集中可以包含重復行,而且它是默認值。而關鍵字DISTINCT可從SELECT語句的結果集中消除重復的行。不過,如果沒有指定DISTINCT,將返回所有行(包括重復的行)。 7.4.8 BETWEEN子 句 : 指 定 范 圍 條 件在SQL Server中,BETWEEN子句是較為重要的字句,用于指定一個范圍條件,其語法結構如下。test_Expression BETWEEN BEGIN_Expression AND END_Expression其實,該子句相當于數(shù)學中的兩個不等式:BEGIN_Expression=test_Expression =END_Expression 7.4.9 模 糊 查 詢 LIKE子 句上面介紹WHERE子句時,說到了字符串比較的問題。不過,那種字符串比較主要是、=等關系運算符連接。在某種程度上,這些運算符都可以說是字符串的精確比較。在Transact-SQL中,還提供了LIKE子句用于字符串的模糊比較,即模糊匹配。 7.4.10 IN子 句 : 值 包 含 在 列 表 中在SQL Server中,IN語句主要用于確定指定列的值在子查詢或列表中。IN語句的語法結構如下。test_Expression IN ( subquery | Expression , n ) 7.4.11 NOT IN子 句 : 值 不 包 含 在 列 表 中當然,IN語句與LIKE語句一樣,也可以和NOT語句配合使用。NOT語句將IN語句的值取反,即如果IN語句為TRUE,那么NOT IN子句則為FALSE。這里之所以單獨列出NOT IN,是因為用戶經(jīng)常用到NOT IN,便于用戶查詢本書。 7.4.12 COMPUTE子 句 : 用 于 生 成 統(tǒng) 計 信 息COMPUTE子句用于生成統(tǒng)計信息,并將統(tǒng)計信息顯示在結果集的后面。COMPUTE子句的語法結構如下。 COMPUTE AVG | COUNT | MAX | MIN | STDEV | STDEVP | VAR | VARP | SUM ( Expression ) , n BY Expression , n 7.4.13 COMPUTE BY子 句 : 計 算 統(tǒng) 計 信 息COMPUTE BY子句與COMPUTE子句類似,也可能在未來版本中刪除,所以不建議使用。如果使用COMPUTE BY,那么必須使用ORDER BY子句。表達式的列必須與在ORDER BY中的列相同或是其子集,并且順序相同。例如,如果ORDER BY子句為ORDER BY a,b,c,那么COMPUTE子句的可用形式如下。COMPUTE BY a,b,c。COMPUTE BY a,b。COMPUTE BY a。 7.4.14 列 的 別 名前面的許多示例都用到了列的別名,而且在前面介紹其他類型時,筆者也介紹了列的別名類型。其實,列的別名在SELECT語句中經(jīng)常用到。其中,列的別名類型主要由AS和=來命名?;谇懊娴慕榻B,下面將給出一個在查詢中使用列別名的示例。如下SQL語句將查詢數(shù)據(jù)庫database_demo的表,并使用別名顯示查詢到的字段。 7.5 關 系 連 接在SELECT語句涉及到多個表時,可以用子查詢解決。SQL Server還提供了一組關鍵字來處理多個表的查詢,這組關鍵字組成了關系連接的核心。所謂關系連接,就是連接查詢這是一種不同于子查詢使用多個表的查詢方式??梢哉f,前面介紹的SQL語句都是基礎語句,在工作中較少用到那樣簡單的語句。連接查詢是最常用、最重要的查詢方式。 7.5.1 連 接 查 詢 介 紹既然兩個表可以用于連接查詢,那么兩個表必須要有聯(lián)系兩個表之間存在相同意義的列。 7.5.2 笛 卡 爾 乘 積上面介紹連接查詢時提到過,SQL Server將參與連接查詢的表的所有記錄進行組合并形成笛卡爾積(交叉連接) 。根據(jù)上面介紹的連接查詢的執(zhí)行步驟,用戶不難了解生成和實現(xiàn)笛卡爾積的方法:在連接查詢中,將WHERE子句、GROUP BY子句、ORDER BY子句以及SELECT語句中的聚合函數(shù)等都省略,直接使用表中的記錄組合形成笛卡爾積。 7.5.3 內(nèi) 部 連 接內(nèi)部連接( INNER JOIN)是相對于外部鏈接而言的,內(nèi)部連接用來組合兩個或多個表的記錄。通常,內(nèi)部連接按照連接條件,從生成的結果集中刪除在其他表中沒有被匹配的記錄。根據(jù)內(nèi)部連接使用比較方式的不同,內(nèi)部連接可以分為等值連接、自然連接、不等連接。 7.5.4 使 用 表 別 名表的別名是連接查詢中經(jīng)常用到的處理表的方法。將表名定義為一個簡單的別名,解決了編寫SQL語句時語句過長的問題。其中,表別名的規(guī)則與前面介紹的列的別名相同。這里僅給出一個簡單的SQL示例。USE database_demoGOSELECT tb1.* FROM table_1 AS tb1 7.5.5 外 部 連 接前面介紹的連接查詢都是返回滿足條件的記錄。在工作中,用戶可能遇到這種情況,即顯示某一個表的全部內(nèi)容(包括不符合連接條件的記錄)。這個時候就需要用到外部連接,其可以使不符合條件的記錄也出現(xiàn)在結果中。 7.5.6 自 連 接這里介紹的自連接是連接查詢的一個特例。所謂自連接,就是表與自身的連接,是內(nèi)部連接的一種。自連接可以使用戶同時操作同一個表的不同行。它使用較少,但是很重要。自連接適用于如下場景:某班級學生表student中包含了該班學生今年選修的課程以及課程分數(shù)?,F(xiàn)在,需要查看同一個學生的不同學科的成績。 7.5.7 聯(lián) 合 查 詢 在Transact-SQL中,還有一類查詢,叫聯(lián)合查詢。聯(lián)合查詢是以SELECT語句的結果集為基礎的。與其說聯(lián)合查詢是一個查詢,不如說聯(lián)合查詢是一個運算符。不過,這是一種使用起來不太靈活的查詢方式。除非用戶想將查詢結果一次性輸出,這時可以使用聯(lián)合查詢。許多聯(lián)合查詢都可以用連接查詢替代,不推薦使用聯(lián)合查詢。 7.6 小 結本章是本書最為關鍵的一章,SQL語句是在實際應用中使用最多的部分,每一個DBA都應該十分熟練地掌握各種SQL語句。在實際應用中,數(shù)據(jù)操縱語言最為關鍵,由其是SELECT語句,十分靈活,體現(xiàn)了第四代計算機語言的特點。與其配合的各種常見語句,為準確查詢到可用數(shù)據(jù)提供技術保障。

注意事項

本文(第07章 基本SQL語句課件.ppt)為本站會員(小**)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復下載不扣分。




關于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!