![數(shù)據(jù)庫(kù)上機(jī)實(shí)驗(yàn)答案4_第1頁(yè)](http://file4.renrendoc.com/view/8372d11bce21da50534297a533f8833c/8372d11bce21da50534297a533f8833c1.gif)
![數(shù)據(jù)庫(kù)上機(jī)實(shí)驗(yàn)答案4_第2頁(yè)](http://file4.renrendoc.com/view/8372d11bce21da50534297a533f8833c/8372d11bce21da50534297a533f8833c2.gif)
![數(shù)據(jù)庫(kù)上機(jī)實(shí)驗(yàn)答案4_第3頁(yè)](http://file4.renrendoc.com/view/8372d11bce21da50534297a533f8833c/8372d11bce21da50534297a533f8833c3.gif)
![數(shù)據(jù)庫(kù)上機(jī)實(shí)驗(yàn)答案4_第4頁(yè)](http://file4.renrendoc.com/view/8372d11bce21da50534297a533f8833c/8372d11bce21da50534297a533f8833c4.gif)
![數(shù)據(jù)庫(kù)上機(jī)實(shí)驗(yàn)答案4_第5頁(yè)](http://file4.renrendoc.com/view/8372d11bce21da50534297a533f8833c/8372d11bce21da50534297a533f8833c5.gif)
下載本文檔
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)據(jù)庫(kù)上機(jī)實(shí)驗(yàn)答案4學(xué)號(hào):姓名:日期:年月日實(shí)驗(yàn)?zāi)康模簩W(xué)習(xí)使用ODBC的方法;體驗(yàn)T-SQL的功能;體驗(yàn)存儲(chǔ)過(guò)程的功能;體驗(yàn)表值函數(shù)、標(biāo)量值函數(shù)的作用;體驗(yàn)ranking等功能。1練習(xí)視圖及連接查詢(xún)。(1)創(chuàng)建一個(gè)視圖,視圖名為viNF,視圖內(nèi)容為selectid,count(*)asnffromfriendsgroupbyid。執(zhí)行成功后,將SQL語(yǔ)句復(fù)制到下方。createviewviNFas(selectid,count(*)asnffromfriendsgroupbyid)(2)基于viNF視圖,查找擁有最多好友的用戶(hù)、最少好友的用戶(hù)。執(zhí)行成功后,將SQL語(yǔ)句復(fù)制到下方。selecttop1*fromviNForderbynfascselecttop1*fromviNForderbynfdesc或者select*fromviNFwherenf=(selectmin(nf)fromviNF)select*fromviNFwherenf=(selectmax(nf)fromviNF)(3)基于users表和viNF視圖進(jìn)行連接查詢(xún)。分別進(jìn)行內(nèi)連接、全外連接、左外連接、右外連接四種操作。執(zhí)行成功后,將SQL語(yǔ)句復(fù)制到下方,并回答:四種結(jié)果表,哪兩個(gè)的結(jié)果是一致的,為什么?select*fromusersinnerjoinviNFonusers.id=viNF.idselect*fromusersfullouterjoinviNFonusers.id=viNF.idselect*fromusersleftouterjoinviNFonusers.id=viNF.idselect*fromusersrightouterjoinviNFonusers.id=viNF.id其中,innerjoin和rightouterjoin結(jié)果一致,都是63條;fullouterjoin和leftouterjoin結(jié)果一致,都是64條。這是因?yàn)閡sers表有64條數(shù)據(jù),而viNF只有63條數(shù)據(jù)。有一個(gè)id沒(méi)有朋友,因此不在viNF視圖中出現(xiàn)。(4)將題(3)中全外連接保存為一個(gè)新的視圖viUAF。createviewviUAFas(selectusers.*,viNF.nffromusersfullouterjoinviNFonusers.id=viNF.id)21通過(guò)ODBC用Excel打開(kāi)users表。控制面板管理工具數(shù)據(jù)源(ODBC)添加新的數(shù)據(jù)源SQLServerExcel數(shù)據(jù)OLEBODBC3體驗(yàn)T-SQL?;仡檶?shí)驗(yàn)2中的題目:定義最低價(jià)格為成本價(jià);依據(jù)此成本價(jià)做如下計(jì)算:連接Goods,Goods_Extent,Sellers表,按照總利潤(rùn),輸出前10名;要求輸出表的格式為(商品名稱(chēng),賣(mài)家名稱(chēng),商品價(jià)格,運(yùn)費(fèi),賣(mài)家信譽(yù),賣(mài)家好評(píng)率,歷史銷(xiāo)量,歷史利潤(rùn),期內(nèi)銷(xiāo)量,期內(nèi)利潤(rùn),總銷(xiāo)量,總利潤(rùn))利用如下語(yǔ)句進(jìn)行查詢(xún),體會(huì)和之前有什么不同。如有時(shí)間,自己可以仿照寫(xiě)一個(gè)變量定義、賦值及應(yīng)用的例子。declare@costasfloat;select@cost=min(good_price)fromgoods;selecttop10good_nameas商品名稱(chēng),goods.seller_nameas賣(mài)家名稱(chēng),good_priceas商品價(jià)格,good_shippingas運(yùn)費(fèi),rp_as_selleras賣(mài)家信譽(yù),positive_percent_as_selleras賣(mài)家好評(píng)率,good_soldbeforeas歷史銷(xiāo)量,good_soldbefore*(good_price-@cost)as歷史利潤(rùn),good_soldintermas期內(nèi)銷(xiāo)量,good_soldinterm*(good_price-@cost)as期內(nèi)利潤(rùn),good_soldbefore+good_soldintermas總銷(xiāo)量,(good_soldbefore+good_soldinterm)*(good_price-@cost)as總利潤(rùn)fromgoods,goods_extent,sellerswheregoods.good_id=goods_extent.good_idandgoods.seller_id=sellers.seller_idorderby總利潤(rùn)desc;注意:這里用了declare@costasfloat來(lái)聲明變量用了select@cost=min(good_price)fromgoods;來(lái)賦值應(yīng)用時(shí)直接用@cost4體驗(yàn)存儲(chǔ)過(guò)程。執(zhí)行如下語(yǔ)句:CREATEPROCEDUREgetFriendsList@idintASBEGINprint('存儲(chǔ)過(guò)程樣例');selectid,gender,homeprovincefromuserswhereidin(selectfriendIDfromfriendswhereid=@id);END執(zhí)行完畢后,在可編程性存儲(chǔ)過(guò)程下查看自己創(chuàng)建的存儲(chǔ)過(guò)程,并右鍵點(diǎn)擊修改存儲(chǔ)過(guò)程,觀察所展示的代碼與上述代碼的不同之處。在查詢(xún)窗口中執(zhí)行如下語(yǔ)句,理解這一存儲(chǔ)過(guò)程:execgetFriendsList155100422;注意:創(chuàng)建時(shí)為CREATE,修改時(shí)為MODIFY@id為傳入?yún)?shù)執(zhí)行存儲(chǔ)過(guò)程要用exec…5體驗(yàn)存儲(chǔ)過(guò)程的輸入和輸出。執(zhí)行如下語(yǔ)句:CREATEProcedurecal_median@sourceTBnvarchar(100),@sourceColumnnvarchar(100),@sourceConditionsnvarchar(500),@medianfloatoutASBEGINdeclare@sqlnvarchar(1000)declare@median_bottomfloatdeclare@median_topfloatset@sql='SELECT@median_bottom=MAX('+@sourceColumn+')FROM(SELECTTOP50PERCENT'+@sourceColumn+'FROM(select'+@sourceColumn+'from'+@sourceTB+'where'+@sourceConditions+')asvariable_listORDERBY'+@sourceColumn+')ASBottomHalf'execsp_executesql@sql,N'@median_bottomfloatout',@median_bottomoutset@sql='SELECT@median_top=MIN('+@sourceColumn+')FROM(SELECTTOP50PERCENT'+@sourceColumn+'FROM(select'+@sourceColumn+'from'+@sourceTB+'where'+@sourceConditions+')asvariable_listORDERBY'+@sourceColumn+'DESC)ASTopHalf'execsp_executesql@sql,N'@median_topfloatout',@median_topoutset@median=round((@median_bottom+@median_top)*1.0/2,2)END在查詢(xún)窗口中執(zhí)行如下語(yǔ)句,理解這一存儲(chǔ)過(guò)程是如何實(shí)現(xiàn)輸出的:declare@medianfloatexeccal_median'DBCourse.dbo.users','nFriends','homeProvince=''陜西''',@medianoutprint@median注意:這個(gè)存儲(chǔ)過(guò)程用來(lái)計(jì)算中值。計(jì)算的過(guò)程為:前一半的最大值和后一半的最小值的平均值。存儲(chǔ)過(guò)程的輸出用out來(lái)指出。6體驗(yàn)表值函數(shù)。執(zhí)行如下語(yǔ)句:createfunctiongetFriends(@idasint)returns@friendstable(idint,gendervarchar(2),placevarchar(50))asbegininsertinto@friendsselectid,gender,homeprovincefromuserswhereidin(selectfriendIDfromfriendswhereid=@id);return;end執(zhí)行完畢后,在可編程性函數(shù)表值函數(shù)下查看自己創(chuàng)建的表值函數(shù),并右鍵點(diǎn)擊修改函數(shù),觀察所展示的代碼與上述代碼的不同之處。在查詢(xún)窗口中執(zhí)行如下語(yǔ)句,理解表值函數(shù)的應(yīng)用方式:select*fromgetFriends(155100422)注意:表值函數(shù)類(lèi)似于創(chuàng)建一張表并插入數(shù)據(jù)。7體驗(yàn)標(biāo)量值函數(shù)。執(zhí)行如下語(yǔ)句:createfunctiongetFriendsNumber(@idasint)returnsintasbegindeclare@nFriendsint;set@nFriends=(selectcount(*)fromfriendswhereid=@id);return@nFriends;end執(zhí)行完畢后,在可編程性函數(shù)標(biāo)量值函數(shù)下查看自己創(chuàng)建的標(biāo)量值函數(shù),并右鍵點(diǎn)擊修改函數(shù),觀察所展示的代碼與上述代碼的不同之處。在查詢(xún)窗口中執(zhí)行如下語(yǔ)句,理解標(biāo)量值函數(shù)的應(yīng)用方式:select*,dbo.getFriendsNumber(id)fromusers注:若此處報(bào)錯(cuò),查看標(biāo)量值函數(shù)的函數(shù)名,對(duì)dbo做相應(yīng)修改。注
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年超聲多普勒胎兒監(jiān)護(hù)儀合作協(xié)議書(shū)
- 周口市創(chuàng)新聯(lián)合體組建協(xié)議
- 2025年便攜溫度校驗(yàn)儀合作協(xié)議書(shū)
- 八年級(jí)英語(yǔ)下冊(cè) Unit 7 單元綜合測(cè)試卷(人教河南版 2025年春)
- 人教版 七年級(jí)英語(yǔ)下冊(cè) UNIT 3 單元綜合測(cè)試卷(2025年春)
- 2025年二手車(chē)買(mǎi)賣(mài)服務(wù)合同(2篇)
- 2025年產(chǎn)品供貨銷(xiāo)售合同(2篇)
- 2025年企業(yè)產(chǎn)品區(qū)域代理銷(xiāo)售合同(三篇)
- 2025年九年級(jí)物理教師教學(xué)工作總結(jié)模版(2篇)
- 山西省2024七年級(jí)道德與法治上冊(cè)第三單元珍愛(ài)我們的生命第十課保持身心降情境基礎(chǔ)小練新人教版
- 2024版《安全生產(chǎn)法》考試題庫(kù)附答案(共130題)
- 節(jié)后復(fù)工安全教育培訓(xùn)內(nèi)容【5篇】
- 尋夢(mèng)緣古法駐顏培訓(xùn)課件
- 員工招聘與人才引進(jìn)培訓(xùn)課件
- 裝配式預(yù)制剪力墻外墻板制作教學(xué)課件:預(yù)制外墻板生產(chǎn)流程
- 英語(yǔ)旅游文本的句式特點(diǎn)及其翻譯
- 咖啡種植園項(xiàng)目計(jì)劃書(shū)
- 精裝修室內(nèi)施工組織部署
- GJB438C模板-軟件開(kāi)發(fā)計(jì)劃(已按標(biāo)準(zhǔn)公文格式校準(zhǔn))
- 2023年政府采購(gòu)評(píng)審專(zhuān)家考試真題及答案
- 云端數(shù)據(jù)加密與密鑰管理解決方案
評(píng)論
0/150
提交評(píng)論