SQL教程(四)ppt課件.ppt_第1頁
SQL教程(四)ppt課件.ppt_第2頁
SQL教程(四)ppt課件.ppt_第3頁
SQL教程(四)ppt課件.ppt_第4頁
SQL教程(四)ppt課件.ppt_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1/38,1,第四章,數據查詢(1),2/38,2,回顧,SQL分為數據操作語言、數據控制語言和數據定義語言;T-SQL是SQL的擴展 通配符經常與LIKE一起使用來進行非精確的限制; 標識列不能插入指定的數據值 使用UPDATE更新數據,一般都有限制條件 使用DELETE刪除數據時,不能刪除被外鍵值所引用的數據行 使用TRUNCATE TABLE來刪除所有數據時,效率要比DELETE語句高 上面的數據操作語句在程序中會經常使用到,3/38,3,目標,理解查詢的機制 使用SELECT語句進行條件查詢 在查詢中返回限制行、進行查詢排序 在查詢中使用表達式、運算符和函數,4/38,4,什么是查詢?

2、,客戶程序,SQL SERVER,SELECT * FROM SALES,查詢產生一個虛擬表,看到的是表形式顯示的結果,但結果并不真正存儲,每次執(zhí)行查詢只是現從數據表中提取數據,并按照表的形式顯示出來,5/38,5,怎么查的?,6/38,6,編寫查詢語句之前,7/38,7,查詢,SELECT FROM WHERE ORDER BY ASC或DESC,8/38,8,數據查詢-基礎,查詢全部的行和列,查詢部分行,9/38,9,數據查詢-列名,使用AS來命名列,使用=來命名列,10/38,10,數據查詢-空行常量列,查詢空行,使用常量列,思考:非空行怎么查?,11/38,11,數據查詢-限制行數,限

3、制固定行數,返回百分之多少行,12/38,12,數據查詢-排序 2-1,升序排列,降序排列,13/38,13,數據查詢-排序 2-2,按多列排序,思考:排序中的字段,可以使用表達式嗎? 如果不可以,請說明原因; 如果可以,請舉例說明;,14/38,14,SQL Server中的函數,相當于C語言中的內部函數,字符串函數 日期函數 數學函數 系統(tǒng)函數,15/38,15,日期函數,16/38,16,字符串函數,17/38,17,數學函數,18/38,18,系統(tǒng)函數,19/38,19,案例分析1要求,某公司印了一批充值卡,卡的密碼是隨機生成的,現在出現這個問題: 卡里面的“O和0”(哦和零)“i和1

4、”(哎和一),用戶反映說看不清楚,公司決定,把存儲在數據庫中的密碼中所有的“哦”都改成“零”,把所有的“i”都改成“1”; 請編寫SQL語句實現以上要求; 數據庫表名:Card;密碼字段名:PassWord;,20/38,20,案例分析1分析,這是更新語句,需要使用UPDATE語句; 因為牽涉到字符串的替換,需要使用到SQL Server中的函數Replace;,21/38,21,案例分析1T-SQL,兩行SQL語句,一行SQL語句,22/38,22,案例分析2要求,在數據庫表中有以下字符數據,如: 13-1、13-2、13-3、13-10、13-100、13-108、13-18、13-11、

5、13-15、14-1、14-2 現在希望通過SQL語句進行排序,并且首先要按照前半部分的數字進行排序,然后再按照后半部分的數字進行排需,輸出要排成這樣: 13-1、13-2、13-3、13-10、13-11、13-15、13-18、13-100、13-108、14-1、14-2 數據庫表名:SellRecord;字段名:ListNumber;,23/38,23,案例分析2分析,這是查詢語句,需要使用SELECT語句 需要使用到ORDER BY進行排序,并且在ORDER BY的排序列中,也需要重新計算出排序的數字來 前半部分的數字,可以從先找到“-”符號的位置,然后,取其左半部分,最后再使用Co

6、nvert函數將其轉換為數字: Convert(int, Left(ListNumber, CharIndex(-, ListNumber)-1) 后半部分的數字,可以先找到“-”符號的位置,然后把從第一個位置到該位置的全部字符替換為空格,最后再使用Convert函數將其轉換為數字: Convert(int, Stuff(ListNumber,1, Charindex(-, ListNumber), ),24/38,24,案例分析2T-SQL,思考:還有其他的計算出排序列方法嗎?,25/38,25,思考,在上一章我們學習了對表的數據的操作,其中學到了Insert語句,但Insert每次只能插入

7、一行記錄,如果我們要進行多行數據插入,能行嗎?,26/38,26,插入多行數據 4-1,INSERT INTO (新表列名) SELECT FROM ,當新表中的表結構與舊表的表結構相同時,可以用下面語句把舊表中的所需數據一次性插入到新表中,27/38,27,插入多行數據 4-2,SELECT (源表列名) INTO FROM ,猜一猜:該語句可以執(zhí)行兩次嗎?,我要對一張表作測試工作,但又不想破壞表的數據,怎么辦? -把這張表復制出來,28/38,28,插入多行數據 4-3,緊接上面的問題,當我復制了源表相應的列出來后,發(fā)現沒有適合做主鍵的列,怎么? -插入新的標識列,SELECT IDENTITY(數據類型,標識種子,標識增長量) AS 列名 INTO 新表 FROM 原始表,29/38,29,插入多行數據 4-4,INSERT INTO (列名) SELECT UNION SELECT UNION ,前面講的多行插入都是有源數據存在,那么我想自己輸入新的數據進去,但只想用一條Insert語句,能成功嗎?,30/38,30,總結,查詢將逐行篩選表中的數據,最后符合要求的記錄重新組合成“記錄集”,

溫馨提示

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

評論

0/150

提交評論