實(shí)驗(yàn)三 數(shù)據(jù)庫(kù)的查詢和視圖_第1頁(yè)
實(shí)驗(yàn)三 數(shù)據(jù)庫(kù)的查詢和視圖_第2頁(yè)
實(shí)驗(yàn)三 數(shù)據(jù)庫(kù)的查詢和視圖_第3頁(yè)
實(shí)驗(yàn)三 數(shù)據(jù)庫(kù)的查詢和視圖_第4頁(yè)
實(shí)驗(yàn)三 數(shù)據(jù)庫(kù)的查詢和視圖_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、【精品文檔】如有侵權(quán),請(qǐng)聯(lián)系網(wǎng)站刪除,僅供學(xué)習(xí)與交流實(shí)驗(yàn)三 數(shù)據(jù)庫(kù)的查詢和視圖.精品文檔.實(shí)驗(yàn)三 數(shù)據(jù)庫(kù)的查詢和視圖T4.1 數(shù)據(jù)庫(kù)的查詢1、目的和要求(1)掌握SELECT語(yǔ)句的基本語(yǔ)法。(2)掌握子查詢的表示。(3)掌握連接查詢的表示。(4)掌握SELECT語(yǔ)句的GROUP BY子句的作用和使用方法。(5)掌握SELECT語(yǔ)句的ORDER BY子句的作用和使用方法。2、實(shí)驗(yàn)準(zhǔn)備(1)了解SELECT語(yǔ)句的基本語(yǔ)法格式。(2)了解SELECT語(yǔ)句的執(zhí)行方法。(3)了解子查詢的表示方法。(4)了解連接查詢的表示。(5)了解SELECT語(yǔ)句的GROUP BY子句的作用和使用方法。(6)了解 SE

2、LECT語(yǔ)句的ORDER BY子句的作用。3、實(shí)驗(yàn)內(nèi)容(1)SELECT語(yǔ)句的基本使用。 對(duì)于實(shí)驗(yàn)二給出的數(shù)據(jù)庫(kù)表結(jié)構(gòu),查詢每個(gè)雇員的所有數(shù)據(jù)。新建一個(gè)查詢,在“查詢分析器”窗口中輸入如下語(yǔ)句并執(zhí)行。單擊右鍵空白處,選擇執(zhí)行,在下方會(huì)出現(xiàn)所有結(jié)果?!舅伎寂c練習(xí)】用SELECT語(yǔ)句查詢Departments表和Salary表中所有信息。新建一個(gè)查詢,在“查詢分析器”窗口中輸入如下語(yǔ)句并執(zhí)行。單擊右鍵空白處,選擇執(zhí)行,在下方會(huì)出現(xiàn)所有結(jié)果。在“消息”中會(huì)發(fā)現(xiàn)總共有60行受影響。 用SECECT語(yǔ)句查詢Employees表中每個(gè)雇員的地址和電話號(hào)碼。新建一個(gè)查詢,在“查詢分析器”窗口中輸入如下代碼并

3、執(zhí)行。單擊右鍵空白處,選擇執(zhí)行,在下方會(huì)出現(xiàn)所有結(jié)果。在“消息”中會(huì)發(fā)現(xiàn)有12行記錄受影響【思考與練習(xí)】 A、用SELECT語(yǔ)句查詢Departments表和Salary表的一列或若干行。利用SELECT語(yǔ)句查詢Departments表和Salary表中 EmployeeID為000001的記錄,在“查詢分析器”中輸入以下代碼。執(zhí)行后在下方會(huì)出現(xiàn)所有EmployeeID=000001的記錄B、查詢Employees表中部門號(hào)和性別 ,要求使用DISTINCT消除重復(fù)行。對(duì)表只選擇某些行時(shí),可能會(huì)出現(xiàn)重復(fù)行。此時(shí)就需要使用DISTINCT關(guān)鍵字消除結(jié)果中的重復(fù)行。此時(shí)使用DISTINCT消除在E

4、mployees中查詢到的部門號(hào)和性別的重復(fù)行,具體代碼如下。上面代碼分別是使用了DISTINCT和沒有使用DISTINCT關(guān)鍵字,下面就是兩種的結(jié)果的對(duì)比??梢詮纳厦娴膱?zhí)行結(jié)果中看出使用了DISTINCT關(guān)鍵字,結(jié)果集中的重復(fù)行就被消除了。 查詢EmployeeID為000001的雇員的地址和電話。鼠標(biāo)右鍵單擊在彈出的菜單窗口中選擇“執(zhí)行”,結(jié)果中只會(huì)出現(xiàn)一行記錄,EmployeeID為000001的雇員的地址和電話?!舅伎寂c練習(xí)】 A、查詢?cè)率杖敫哂?000元的員工號(hào)碼。只需要查詢員工號(hào)碼,條件為月收入高于2000元員工,那么至于要Salary表就行。用T-SQL命令在表Salary表中查

5、詢?cè)率杖敫哂?000元的員工代碼如下。在結(jié)果欄中顯示(9 行受影響),說(shuō)明月收入高于2000的員工共有9人,如上截圖所示,將所有月收入高于2000的員工的員工號(hào)碼輸出。B、查詢1970年以后出生的員工的姓名和地址。通過(guò)分析員工信息,跟員工年齡、姓名、地址相關(guān)的只有表Employees表,所以只需要在一張表中查詢即可,具體T-SQL查詢命令如下。在結(jié)果欄中消息顯示(7 行受影響),說(shuō)明1970年以后出生有7人,如上截圖所示,將部分1970年以后出生員工姓名、地址輸出顯示。C、查詢所有財(cái)務(wù)部的員工的號(hào)碼和姓名。通過(guò)分析的,需要知道財(cái)務(wù)部與員工的號(hào)碼和姓名,財(cái)務(wù)部只存在于Departments表中,

6、員工姓名和號(hào)碼只存在于Employees表中。因此需要在表Departments表和Employees表中進(jìn)行查詢。利用T-SQL命令查詢代碼如下。 在結(jié)果欄中顯示3行受影響,從上面截圖中可以看出所有財(cái)務(wù)部員工有3人,并且查詢顯示其姓名、電話號(hào)碼。 查詢Employees表中女雇員的地址和電話,使用AS子句將結(jié)果中各列的標(biāo)題分別指定為地址、電話。從上面結(jié)果的截圖發(fā)現(xiàn)Address變?yōu)榈刂?,PhoneNumber變?yōu)殡娫??!舅伎寂c練習(xí)】查詢Employees表中男員工的姓名和出生日期,要求各列標(biāo)題用中文表示。通過(guò)分析此查詢屬于單表查詢,只需要用到Employees表,使用AS子句就能夠使結(jié)果集中

7、各列標(biāo)題用中文顯示。利用T-SQL命令查詢代碼如下。從上面結(jié)果的截圖發(fā)現(xiàn)各列標(biāo)題都是中文。從消息中顯示(9 行受影響)說(shuō)明,員工中男性有9人,并且全部男性的姓名和出生日期都已經(jīng)查詢顯示出。 查詢Employees表中員工的姓名和性別,要求Sex值為1時(shí)顯示為“男”,為0時(shí)顯示為“女”?!舅伎寂c練習(xí)】查詢Employees員工的姓名、住址和收入水平,2000元以下顯示為低收入,20003000元顯示為中等收入,3000元以上顯示高收入。經(jīng)過(guò)分析需要查詢員工的姓名、住址和收入水平,需要在Employees表和Salary表中進(jìn)行查詢,并且將Salary表中員工的InCome進(jìn)行分類需要用到AS子句

8、。利用T-SQL命令進(jìn)行多表查詢語(yǔ)句如下。執(zhí)行上面截圖中代碼,在結(jié)果欄中出現(xiàn)員工的姓名,住址和收入水平。消息中顯示12行受影響,Employees表中所有員工信息都已經(jīng)查詢輸出。 計(jì)算每個(gè)雇員的實(shí)際收入 。經(jīng)過(guò)分析需要員工的收入以及員工號(hào)碼和員工姓名,就需要在Employees表和Salary表中進(jìn)行查詢。利用T-SQL命令查詢?nèi)缦?。結(jié)果欄中就會(huì)顯示EmployeeID,Name,實(shí)際收入這三項(xiàng)。注意:在上面T-SQL命令中EmployeeID如果不指明為哪個(gè)表中的EmployeeID,代碼就會(huì)報(bào)錯(cuò)“EmployeeID不明確”,改為Employees.EmployeeID或者Salary.E

9、mployeeID都行?!舅伎寂c練習(xí)】使用SELECT語(yǔ)句進(jìn)行簡(jiǎn)單的計(jì)算。在這里我將使用SELECT語(yǔ)句計(jì)算出Employees表中工齡三年以上的人數(shù),并且查詢員工號(hào)碼,姓名,工齡。 獲得員工總數(shù)。 經(jīng)分析得需要得到員工總數(shù),只需要在Employees表內(nèi)使用內(nèi)置函數(shù)COUNT就行。利用T-SQL命令執(zhí)行操作如下?!舅伎寂c練習(xí)】A、 計(jì)算Salary表中員工月收入的平均數(shù)。B、 獲得Employees表中最大的員工號(hào)碼。C、 計(jì)算Salary表中所有員工的總支出。D、 查詢財(cái)務(wù)部雇員的最高和最低實(shí)際收入。經(jīng)過(guò)分析需要查詢財(cái)務(wù)部雇員的最高和最低實(shí)際收入,涉及到Employees表、Departm

10、ents表和Salary表,需要在三張表中進(jìn)行查詢。首先確定DepartmentName為“財(cái)務(wù)部”的DepartmentID。其次在Employees表中確定DepartmentID為財(cái)務(wù)部的雇員的EmployeeID。最后在Salary表中通過(guò)EmployeeID查詢財(cái)務(wù)部雇員的InCome和OutCome,在最后的輸出時(shí)候用 InCome-OutCome的結(jié)果為實(shí)際收入。執(zhí)行后在結(jié)果欄中看到財(cái)務(wù)部雇員的最高實(shí)際收入和最低實(shí)際收入。 找出所有姓王的雇員的部門號(hào)。【思考與練習(xí)】A、 找出所有地址中含有“中山”的雇員的號(hào)碼及部門號(hào)。 注意:%代表著任意長(zhǎng)度的字符串(長(zhǎng)度可以為0),“%中山%”

11、表示“中山”前面和后面都能夠有任意長(zhǎng)度字符串,用來(lái)表示地址中含有“中山”二字。B、 查找員工號(hào)碼中倒數(shù)第2個(gè)數(shù)字為0的員工的姓名、地址和學(xué)歷。注意:數(shù)字占單個(gè)字符,所以通配符“_”只有一個(gè),“%0_”表示倒數(shù)第二位為0。 找出所有收入在20003000元的員工號(hào)碼。【思考與練習(xí)】找出所有在部門“1”或“2”工作的雇員的號(hào)碼。10 使用INTO子句,由表Salary創(chuàng)建“收入在1500元以上的員工”表,包括編號(hào)和收入。在左邊對(duì)象資源管理器的YGGL數(shù)據(jù)庫(kù)的表中刷新,會(huì)發(fā)現(xiàn)多了表“收入在1500元以上的員工”?!舅伎寂c練習(xí)】使用INTO子句,由表Employees創(chuàng)建“男員工”表,包括編號(hào)和姓名。

12、(2)子查詢的使用。 查找在財(cái)務(wù)部工作的雇員的情況。查詢財(cái)務(wù)部工作的雇員情況,需要用到Department表和Employees表進(jìn)行多表查詢。首先,在Department表中查詢DepartmentName為“財(cái)務(wù)部”的DepartmentID。然后,將DepartmentID拿到表Employees表中查詢所有DepartmentID為財(cái)務(wù)部的雇員的所有信息。利用T-SQL命令查詢代碼如下。 在結(jié)果欄中顯示所有工作部門為“財(cái)務(wù)部”的雇員的詳細(xì)信息?!舅伎寂c練習(xí)】用子查詢的方法查找所有收入在2500元以下的雇員的情況。進(jìn)分析需要用到工資表Salary和員工信息表Employees進(jìn)行查詢。首

13、先,在表Salary中查詢InCome<2500元的雇員的EmployeeID。然后,利用得到的EmployeeID在表Employees中行選,查詢所有符合EmployeeID的雇員的情況。注:上面截圖中代碼第5行,若改為“where EmployeeID =”就會(huì)出現(xiàn)如下錯(cuò)誤表示返回值不止一個(gè),并且現(xiàn)在子查詢后面接的是“=”,這種情況DBMS是不允許的,所以就會(huì)出現(xiàn)如上所示的錯(cuò)誤。解決方法只需要將“=”改為“in”就行了,就會(huì)解決返回值不止一個(gè)和“=”的沖突。執(zhí)行上面T-SQL語(yǔ)句,在結(jié)果欄中顯示出現(xiàn)結(jié)果。 查找財(cái)務(wù)部年齡不低于研發(fā)部雇員年齡的雇員的姓名。 分析得,ALL指定表達(dá)是要

14、與子查詢結(jié)果集中每個(gè)值都進(jìn)行比較,當(dāng)表達(dá)式與每個(gè)值都滿足比較是關(guān)系時(shí),才返回TRUE,否則返回FALSE。執(zhí)行結(jié)果會(huì)發(fā)現(xiàn)只查詢到1人滿足這樣的條件。同樣我們也能夠通過(guò)查詢Employees表得到。財(cái)務(wù)部只有“王向容”1人符合年齡不小于(大于)研發(fā)部雇員年齡。注:在書上源碼第12行“Birthday ! >all”查詢到的是“李麗”,年齡小于所有研發(fā)部的,所有書本上源碼表示的是“財(cái)務(wù)部雇員年齡不大于研發(fā)部雇員年齡”與題目中“不低于”沖突。所以書上源碼有誤,將源碼改成上面截圖中第12行即可?!舅伎寂c練習(xí)】用子查詢的方法查找研發(fā)部比所有財(cái)務(wù)部雇員收入都高的雇員的姓名。分析:首先在Employe

15、es表里找到EmployeeName為“研發(fā)部”的雇員的姓名和查找雇員的EmployeeID,其次這樣的EmployeeID還需要滿足InCome大于所有的DepartmentName為“財(cái)務(wù)部”的雇員的InCome,滿足條件返回True,select到滿足這樣條件的雇員的Name,否則返回FALSE。Where子查詢中嵌套使用。執(zhí)行T-SQL命令后在結(jié)果欄中顯示只有1人滿足。(3)連接查詢的使用。 查詢每個(gè)雇員的情況及其薪水情況。執(zhí)行之后,將Employees表和Salary表中所有員工的基本情況進(jìn)行輸出。不足之處就是EmployeeID這一列有重復(fù)。【思考與練習(xí)】查詢每個(gè)雇員的情況及其工作

16、部門的情況。執(zhí)行后將每個(gè)雇員的基本情況、工資情況、工作部門情況輸出。 使用內(nèi)連接的方法查詢名字為“王林”的員工的所在部門?!舅伎寂c練習(xí)】A、 使用內(nèi)連接方法查找出不在財(cái)務(wù)部工作的所有員工信息。內(nèi)連接是指定了關(guān)鍵字INNER的連接,內(nèi)連接按照ON所指定的連接條件合并兩個(gè)表,返回滿足條件的行。此處INNER關(guān)鍵字能夠省略。查找所有不在財(cái)務(wù)部工作的員工的信息,就需要使用員工基本信息表Employees和部門信息表Department進(jìn)行查詢。T-SQL命令語(yǔ)句如下。執(zhí)行結(jié)果包含表Employees和表Department的所有字段,不去除重復(fù)字段(DepartmentID)。B、 使用外連接方法查找

17、出所有員工的月收入。外連接為指定了關(guān)鍵字OUTER關(guān)鍵字的連接,外連接包括以下三種連接。左外連接(LEFT OUTER JOIN):結(jié)果表中除了包括滿足連接條件的行外,還包括左表的所有行。右外連接(RIGHT OUTER JOIN):結(jié)果表中除了包括滿足連接條件的行外,還包括右表的所有行。完全外連接 (FULL OUTER JOIN):結(jié)果表中除了包括滿足連接條件的行外,還包括兩個(gè)表的所有行。在這里將表Employees和表Salary做右連接查詢,結(jié)果表中除了包括連接條件Employees.EmployeeID=Salary.EmployeeID外,還將包括右表(Salary表)中的所有行(

18、InCome和OutCome)。執(zhí)行代碼結(jié)果如下。 查找財(cái)務(wù)部收入在2000元以上的雇員姓名及其薪水情況。分析得需要財(cái)務(wù)部收入2000元以上雇員姓名和薪水情況,涉及雇員基本信息的Employees表、部門信息Department表和薪水信息Salary表。此時(shí)就用到where語(yǔ)句里面多表查詢將三張表做自然連接。執(zhí)行上面截圖中代碼,在下面結(jié)果欄中顯示財(cái)務(wù)部工資在2000元以上的雇員的姓名和薪水情況?!舅伎寂c練習(xí)】查詢研發(fā)部在1976年以前出生的雇員姓名及其薪水情況。將三張表做自然連接后查詢滿足條件的雇員的姓名、收入和支出。(4)聚合函數(shù)的使用 求財(cái)務(wù)部雇員的平均收入。新建一個(gè)查詢,在“查詢分析器

19、”窗口中輸入如下語(yǔ)句并執(zhí)行。執(zhí)行截圖中代碼,結(jié)果欄中顯示才而不平均收入?!舅伎寂c練習(xí)】查詢財(cái)務(wù)部雇員的最高收入和最低收入。查詢最高和最低收入,將用到聚合函數(shù)表中的MAX(求最大值)和MIN(求最小值)。執(zhí)行上面截圖中T-SQL命令,在結(jié)果欄中顯示財(cái)務(wù)部雇員最高收入和最低收入。 求財(cái)務(wù)部雇員的平均實(shí)際收入。 新建一個(gè)查詢,在“查詢分析器”窗口中輸入如下語(yǔ)句并執(zhí)行。執(zhí)行上面截圖中的T-SQL命令,在結(jié)果欄中顯示財(cái)務(wù)部雇員平均實(shí)際收入?!舅伎寂c練習(xí)】查詢財(cái)務(wù)部雇員的最高和最低實(shí)際收入。需要財(cái)務(wù)部實(shí)際收入需要用表Salary中的InCome字段和OutCome字段。其次用到聚合函數(shù)MAX和MIN。最后

20、在用where子查詢找到DepartmentName為“財(cái)務(wù)部”的雇員的EmployeeID。執(zhí)行上面截圖中的T-SQL命令,在結(jié)果欄中顯示財(cái)務(wù)部雇員最高和最低實(shí)際收入。(5)GROUP BY、ORDER BY子句的使用。 查找Employees表中男性和女性人數(shù) ?!舅伎寂c練習(xí)】A、按部門列出在該部門工作的員工的人數(shù)。B、按員工的學(xué)歷分組,排列出本科、大專和碩士的人數(shù)。 查找員工數(shù)超過(guò)2的部門名稱和員工數(shù)量。執(zhí)行上面截圖中代碼,在結(jié)果欄中顯示員工數(shù)超過(guò)2的部門名稱以及人數(shù)?!舅伎寂c練習(xí)】按照員工的工作年份分組,統(tǒng)計(jì)各個(gè)工作年份的人數(shù),例如,工作1年的多少人,工作2年的多少人 。分析只需要Em

21、ployees表就能夠完成,通過(guò)GROUP BY對(duì)WorkYear進(jìn)行分組,并統(tǒng)各個(gè)年份的人數(shù)。 將各個(gè)雇員的情況按收入由低到高排列。 新建一個(gè)查詢,在“查詢分析器”窗口中輸入如下語(yǔ)句并執(zhí)行。需要對(duì)雇員的收入情況進(jìn)行排序,就需要使用到謂詞ORDER BY,謂詞ORDER BY后面能夠接多個(gè)排序的變量名,第一個(gè)變量為主序,下面依次類推。每一個(gè)排序列名后面可用限定詞ASC(升序)或者DESC(降序)聲明排序的方式 ,缺省為升序(如果不接限定詞系統(tǒng)默認(rèn)的為ASC(升序)。下面為執(zhí)行上面截圖中T-SQL命令,在結(jié)果欄中顯示的查詢結(jié)果。可以觀察雇員的基本信息是按照InCome升序排列(由低到高)?!舅伎?/p>

22、與練習(xí)】A、將員工信息按照出生時(shí)間從小到大排列。執(zhí)行上面截圖中的T-SQL命令,在下面結(jié)果欄中顯示雇員信息根據(jù)出生日期從小到大排列。C、在ODER BY子句中使用子查詢,查詢員工姓名,性別和工齡信息,要求按照實(shí)際收入從大到小排序。經(jīng)分析將表Employees和表Salary根據(jù)EmployeeID相同做自然連接,其次根據(jù)實(shí)際收入(InCome-OutCome)進(jìn)行ORDER BY排序。最后,由于是根據(jù)實(shí)際收入(InCome-OutCome)從大到小進(jìn)行排序,那么接在ORDER BY后面的謂詞就需要換成DESC。根據(jù)上面截圖中T-SQL命令,在結(jié)果欄中顯示根據(jù)實(shí)際收入進(jìn)行排序輸出雇員的姓名,性別

23、和工齡信息。T4.1 視圖的使用1、目的和要求(1)熟悉視圖的概念和作用。(2)掌握視圖的創(chuàng)建方法。(3)掌握如何查詢和修改視圖。2、實(shí)驗(yàn)準(zhǔn)備(1)了解視圖的概念(2)了解創(chuàng)建視圖的方法。(3)了解并掌握對(duì)視圖的操作。3、實(shí)驗(yàn)內(nèi)容(1)創(chuàng)建視圖。 創(chuàng)建YGGL數(shù)據(jù)庫(kù)上的視圖DS_VIEW,視圖包含Departments表的全部列。新建“查詢分析器”窗口,在其中輸入以上T-SQL命令,點(diǎn)擊執(zhí)行按鈕。在YGGL數(shù)據(jù)庫(kù)的視圖中進(jìn)行刷新,就會(huì)顯示創(chuàng)建的DS_VIEW視圖,如下所示。 創(chuàng)建YGGL數(shù)據(jù)庫(kù)上的視圖Employees_view,視圖包含員工號(hào)碼、姓名和實(shí)際收入3列。使用如下T-SQL命令進(jìn)行

24、操作。執(zhí)行上面截圖中代碼,在YGGL數(shù)據(jù)庫(kù)的視圖中進(jìn)行刷新,顯示視圖Employees_view,如下所示?!舅伎寂c練習(xí)】A、在創(chuàng)建視圖時(shí)SELECT有哪些限制?用來(lái)創(chuàng)建視圖的SELECT語(yǔ)句,可在SELECT語(yǔ)句中查詢多個(gè)表或者視圖,以表明新創(chuàng)的視圖所參照的表或視圖。B、在創(chuàng)建視圖時(shí)有哪些注意點(diǎn)?只有在當(dāng)前數(shù)據(jù)庫(kù)中才能夠創(chuàng)建視圖。視圖的命名必須遵循標(biāo)識(shí)符命名規(guī)則,不能夠與表同名。不能夠把規(guī)則、默認(rèn)值或觸發(fā)器與視圖相關(guān)聯(lián)。C、創(chuàng)建視圖,包含員工號(hào)碼、姓名、所在部門名稱和實(shí)際收入這幾列。在數(shù)據(jù)庫(kù)YGGL的視圖中刷新,會(huì)顯示剛剛創(chuàng)建的視圖test_view,包含員工號(hào)碼、姓名、員工部門名稱和實(shí)際收

25、入這幾列。結(jié)果如下圖所示。(2)查詢視圖 從視圖DS_VIEW中查詢部門號(hào)為3的部門名稱。注:在上面代碼下是顯示錯(cuò)誤,但是代碼邏輯都正確,而且也能夠正確執(zhí)行,并且輸出正確的結(jié)果。(不知道是什么原因) 從視圖Employees_view中查詢姓名為“王林”的員工的實(shí)際收入。【思考與練習(xí)】A、若視圖關(guān)聯(lián)了某表中的所有字段,而此時(shí)該表中添加了新的字段,視圖中能否查詢到該字段?首先建立視圖Employees_view并且關(guān)聯(lián)表Employees中的所有字段。然后在表Employees中插入一行新的數(shù)據(jù)。最后在“查詢分析器”中查詢EmployeeID等于“000000”的雇員的所有信息。從上面的T-SQ

26、L命令可以看出,當(dāng)視圖關(guān)聯(lián)的表中添加新的字段時(shí),視圖中是無(wú)法查詢到該字段的,必須重新創(chuàng)建視圖才能夠查詢到新添加的字段。B、自己創(chuàng)建一個(gè)視圖,并查詢視圖中的字段。利用T-SQL命令創(chuàng)建一個(gè)視圖Employees_view,該視圖包含雇員EmployeeID、Name和RealInCome(實(shí)際收入),并且查詢?cè)撘晥D中姓名為“王林”的雇員的基本情況。具體T-SQL命令代碼如下。查詢?cè)撘晥D中姓名為“王林”的雇員的基本情況。(3)更新視圖。在更新視圖前需要了解可更新視圖的概念,了解什么視圖時(shí)不可以進(jìn)行修改的。更新視圖真正更新的是和視圖關(guān)聯(lián)額表。 向DS_VIEW中插入一行數(shù)據(jù)“6,廣告部,廣告業(yè)務(wù)”。

27、當(dāng)在“查詢分析器”中輸入上面代碼時(shí),會(huì)出現(xiàn)這樣的錯(cuò)誤。規(guī)則已經(jīng)和Departments。DepartmentID綁定,只需要解除綁定就行了。那么就將前面的T-SQL修改為這樣就行了。當(dāng)再次執(zhí)行時(shí)就會(huì)發(fā)現(xiàn),Departments.DepartmentID已經(jīng)沒有了規(guī)則,也就說(shuō)明第一次執(zhí)行時(shí)規(guī)則已經(jīng)解除綁定。同樣當(dāng)再次執(zhí)行時(shí)會(huì)出字段字段已經(jīng)出現(xiàn),不能夠重復(fù)輸入primary key相同的記錄。繼續(xù)在視圖中刷新重新打開“編輯前200行”就會(huì)發(fā)現(xiàn)字段已經(jīng)插入。 修改視圖DS_VIEW,將部門號(hào)為5的部門名稱修改為“生產(chǎn)車間”。執(zhí)行上面的T-SQL命令,將更新數(shù)據(jù)之前和之后的DS_VIEW表進(jìn)行對(duì)照,發(fā)

28、現(xiàn)數(shù)據(jù)已經(jīng)成功更新,說(shuō)明T-SQL命令執(zhí)行成功。DepartmentID為5的DepartmentName已經(jīng)更新為“生產(chǎn)車間”。執(zhí)行完該命令后,使用select語(yǔ)句分別查看視圖DS_VIEW和和基本表Departments中發(fā)生的變化?;颈鞤epartments中的改變。 視圖DS_VIEW中發(fā)生的改變,見上面截圖。 將視圖Employee_view中的員工號(hào)為“000001”的員工的姓名修改為“王浩”。執(zhí)行上面的T-SQL命令后,打開視圖Employees_view,可以看出EmployeeID=000001的雇員的Name已經(jīng)修改為“王浩”。 修改視圖DS_VIEW中部門號(hào)為“1”的一行數(shù)據(jù)?!舅伎寂c練習(xí)】 視圖Employees_view中無(wú)法插入和刪除數(shù)據(jù),其中的RealInCome字段也無(wú)法修改,為什么?要通過(guò)視圖更新(插入、修改和刪除)基本數(shù)據(jù),必須保證視圖為可更新視圖,只有滿足一下條件的視圖才是可更新視圖。A、創(chuàng)建視圖的SELECT語(yǔ)句中沒有聚合函數(shù),且沒有TOP、GROUP BY、UNION子句及DISTINCT關(guān)鍵字。B、創(chuàng)建視圖的SELECT語(yǔ)句不包含

溫馨提示

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