第4章_子查詢、多表連接和系統(tǒng)函數(shù).ppt_第1頁
第4章_子查詢、多表連接和系統(tǒng)函數(shù).ppt_第2頁
第4章_子查詢、多表連接和系統(tǒng)函數(shù).ppt_第3頁
第4章_子查詢、多表連接和系統(tǒng)函數(shù).ppt_第4頁
第4章_子查詢、多表連接和系統(tǒng)函數(shù).ppt_第5頁
已閱讀5頁,還剩17頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第四章 子查詢 多表連接和系統(tǒng)函數(shù) 回顧 學(xué)生信息表添加一條記錄 張小光 男 學(xué)號(hào)為s90311 21歲 來自泉州將張小光的地址改為平和刪除張小光的信息 學(xué)生信息表 課程目標(biāo) 子查詢多表聯(lián)接系統(tǒng)函數(shù)綜合案例 子查詢 什么是子查詢子查詢是一個(gè)嵌套在select insert update delete語句或其它查詢中的select查詢?yōu)槭裁匆褂米硬樵儾樵兙W(wǎng)頁設(shè)計(jì)機(jī)試考了90分的學(xué)生學(xué)號(hào)selectstuNofrom成績表wherecourseName 網(wǎng)頁設(shè)計(jì) andlabExam 90查詢網(wǎng)頁設(shè)計(jì)機(jī)試考了最高分的學(xué)生學(xué)號(hào) 查詢來自泉州的學(xué)生的考試成績 子查詢 查詢網(wǎng)頁設(shè)計(jì)機(jī)試考了最高分的學(xué)生學(xué)號(hào)selectstuNofrom成績表wherecourseName 網(wǎng)頁設(shè)計(jì) andlabExam selectmax labExam from成績表wherecourseName 網(wǎng)頁設(shè)計(jì) 子查詢 查詢來自泉州的學(xué)生的考試成績方法一select from成績表wherestuNoin selectstuNofrom學(xué)生信息表wherestuAddress 泉州 方法二select fromScorewhereexists select fromStudentwherestuAddress 泉州 andScore stuNo Student stuNo 聯(lián)接 為什么要使用聯(lián)接 查詢學(xué)生的C語言成績 要求顯示姓名 學(xué)號(hào) 筆試成績 機(jī)試成績 什么是聯(lián)接 聯(lián)接表示SQLServer應(yīng)如何使用一個(gè)表中的數(shù)據(jù)來選擇另一個(gè)表中的行 通過聯(lián)接 可以根據(jù)各個(gè)表之間的邏輯關(guān)系從兩個(gè)或多個(gè)表中檢索數(shù)據(jù) 聯(lián)接 聯(lián)接的類型內(nèi)聯(lián)接innerjoin外聯(lián)接leftjoin或leftouterjoinrightjoin或rightouterjoinfulljoin或fullouterjoin交叉聯(lián)接crossjoin 聯(lián)接 查詢學(xué)生的C語言成績 要求顯示姓名 學(xué)號(hào) 筆試成績 機(jī)試成績selectstuName 學(xué)生信息表 stuNo writtenExam labExamfrom學(xué)生信息表innerjoin成績表on學(xué)生信息表 stuNo 成績表 stuNowherecourseName C語言 查詢學(xué)生的C語言成績 要求顯示姓名 學(xué)號(hào) 筆試成績 機(jī)試成績 缺考的學(xué)生也要顯示 selectstuName 學(xué)生信息表 stuNo writtenExam labExamfrom學(xué)生信息表leftjoin成績表on學(xué)生信息表 stuNo 成績表 stuNowherecourseName C語言 SQLServer中的函數(shù) 字符串函數(shù)日期函數(shù)數(shù)學(xué)函數(shù)系統(tǒng)函數(shù) 字符串函數(shù) 日期函數(shù) 數(shù)學(xué)函數(shù) 系統(tǒng)函數(shù) 案例分析1 要求 某公司印了一批充值卡 卡的密碼是隨機(jī)生成的 現(xiàn)在出現(xiàn)這個(gè)問題 卡里面的 O和0 哦和零 i和1 哎和一 用戶反映說看不清楚 公司決定 把存儲(chǔ)在數(shù)據(jù)庫中的密碼中所有的 哦 都改成 零 把所有的 i 都改成 1 請(qǐng)編寫SQL語句實(shí)現(xiàn)以上要求 數(shù)據(jù)庫表名 Card 密碼字段名 PassWord 案例分析1 分析 這是更新語句 需要使用UPDATE語句 因?yàn)闋可娴阶址奶鎿Q 需要使用到SQLServer中的函數(shù)Replace 案例分析1 T SQL 兩行SQL語句 UpdateCardSetPassWord Replace PassWord O 0 UpdateCardSetPassWord Replace PassWord i 1 一行SQL語句 UpdateCardSetPassWord Replace Replace PassWord O 0 i 1 案例分析2 要求 在數(shù)據(jù)庫表中有以下字符數(shù)據(jù) 如 13 1 13 2 13 3 13 10 13 100 13 108 13 18 13 11 13 15 14 1 14 2現(xiàn)在希望通過SQL語句進(jìn)行排序 并且首先要按照前半部分的數(shù)字進(jìn)行排序 然后再按照后半部分的數(shù)字進(jìn)行排需 輸出要排成這樣 13 1 13 2 13 3 13 10 13 11 13 15 13 18 13 100 13 108 14 1 14 2數(shù)據(jù)庫表名 SellRecord 字段名 ListNumber 案例分析2 分析 這是查詢語句 需要使用SELECT語句需要使用到ORDERBY進(jìn)行排序 并且在ORDERBY的排序列中 也需要重新計(jì)算出排序的數(shù)字來前半部分的數(shù)字 可以從先找到 符號(hào)的位置 然后 取其左半部分 最后再使用Convert函數(shù)將其轉(zhuǎn)換為數(shù)字 Convert int Left ListNumber CharIndex ListNumber 1 后半部分的數(shù)字 可以先找到 符號(hào)的位置 然后把從第一個(gè)位置到該位置的全部字符替換為空格 最后再使用Convert函數(shù)將其轉(zhuǎn)換為數(shù)字 Convert int Stuff ListNumber 1 Charindex ListNumber 案例分析2 T SQL SELECTListNumberFROMSellRecordORDERBYConvert int Left ListNumber CharIndex ListNumber 1 Convert int Stuff ListNumber 1 Charindex ListNumber 本章總結(jié) 什么是子查詢 聯(lián)接分為哪些類

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論