數(shù)據(jù)庫實驗報告75722_第1頁
數(shù)據(jù)庫實驗報告75722_第2頁
數(shù)據(jù)庫實驗報告75722_第3頁
數(shù)據(jù)庫實驗報告75722_第4頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、數(shù)據(jù)庫實驗報告75722 驗 實驗 3 t-sql 基礎(chǔ) 【實驗?zāi)康摹?1、掌握在 sql server 2021 下進行數(shù)據(jù)還原的方法。 2、掌握 sql 語句的查詢功能和數(shù)據(jù)更改功能。 【實驗內(nèi)容】 1. 還原factory數(shù)據(jù)庫。 2. 在實驗2建立的factory數(shù)據(jù)庫上,完成如下各題。 (1)顯示所有職工的年齡,并按職工號遞增排序。 (2)求出各部門的黨員人數(shù)。 (3)顯示所有職工的姓名和 2021 年 1 月份的工資。 (4)顯示所有職工的職工號、姓名和平均工資。 (5)顯示所有職工的職工號、姓名、部門名和2021 年2 月份的工資,并按部門名的順序排列。 (6)顯示各部門名和該部

2、門的所有職工平均工資。 (7)顯示所有平均工資高于 1200 的部門名和對應(yīng)的平均工資。 (8)顯示所有職工的職工號、姓名和部門類型,其中財務(wù)部和人事部屬于管理部門,市場部屬于市場部門。 (9) * 若存在職工號為 10 的職工,則顯示其工作部門名稱,否則顯示相應(yīng)提示信息。 (10) * 求出男女職工的平均工資,若男職工平均工資高出女職工平均工資50%,則顯示"男職工比女職工的工資高多了'的信息;若男職工平均工資與女職工平均工資比率在 1.50.8 之間,則顯示"男職工跟女職工的工資差不多'的信息;否則顯示"女職工比男職工的工資高多了'的信

3、息。 【實驗報告要求】 寫出實現(xiàn)各題要求的命令/程序,并列出執(zhí)行結(jié)果。 例如: (1) 顯示所有職工的年齡,并按職工號遞增排序。 對應(yīng)的程序如下: use factory go select 姓名,year(getdate()-year(出生日期) as "年齡" from worker order by 職工號 go 執(zhí)行結(jié)果如下: 姓名 年齡 - - 孫華 56 陳濤 50 劉欣 56 李涵 43 王小燕 44 李藝 45 魏君 38 孫天奇 43 陳明 63 李華 52 余慧 28 歐陽少兵 37 程西 28 張旗 28 劉夫文 66 操作步驟: 1. 還原數(shù)據(jù)庫如下

4、圖 2.(1)顯示所有職工的年齡,并按職工號遞增排序。 use factory go select 姓名,year(getdate()-year(出生日期) as "年齡" from worker order by 職工號 go 2. (2)求出各部門的黨員人數(shù)。 select depart.部門名, count(*) as 黨員人數(shù) from worker,depart where worker.黨員否=1 and worker.部門號=depart.部門號 group by depart.部門號 (3) 顯示所有職工的姓名和 2021 年 1 月份的工資。 select

5、 worker.姓名,salary.工資 from worker,salary where worker.職工號=salary.職工號 and year(salary. 日 期 )=2021 and month(salary. 日 期 )=1 (4)顯示所有職工的職工號、姓名和平均工資. select worker.職工號,worker.姓名,avg(salary.工資) as平均工資 from worker,salary where worker.職工號=salary.職工號 group by worker.職工號,worker.姓名 (5)顯示所有職工的職工號、姓名、部門名和2021 年2

6、 月份的工資,并按部門名的順序排列。 select worker.職工號,worker.姓名,depart.部門名, salary. 工資 as "2021 年月工資" from worker,depart,salary where worker.部門號=depart.部門號 and worker.職工號=salary.職工號 and year(salary.日期)=2021 and month(salary.日期)=2 order by worker.部門號 (6)顯示各部門名和該部門的所有職工平均工資。 select depart.部門名,avg(salary.工資)

7、as "平均工資" from worker,depart,salary where worker.部門號=depart.部門號 and worker.職工號=salary.職工號 group by depart. 部 門 名 (7)顯示所有平均工資高于 1200 的部門名和對應(yīng)的平均工資。 select depart.部門名,avg(salary.工資) as "平均工資" from worker,depart,salary where worker.部門號=depart.部門號 and worker.職工號=salary.職工號 group by de

8、part.部門名 having avg(salary.工資)1200 (8)顯示所有職工的職工號、姓名和部門類型,其中財務(wù)部和人事部屬于管理部門,市場部屬于市場部門。 select worker.職工號,worker.姓名, case depart.部門名 when "財務(wù)部"then "管理部門" when "人事部"then "管理部門" when "市場部"then "市場部門" end as "部門類型" from worker,depart wh

9、ere worker.部門號=depart.部門號 (9) * 若存在職工號為 10 的職工,則顯示其工作部門名稱,否則顯示相應(yīng)提示信息。 declare no int,dep char(10) set no=10 if exists(select * from worker where 職工號=no) begin select dep=depart.部門名 from worker,depart where worker.職工號=no and worker.部門號=depart.部門號 print "職工號為"+cast(no as char(2)+"的職工在&q

10、uot;+ cast(dep as char(6)+"工作" end else print " 不 存 在 該 職 工 號 的 記 錄 " (10) * 求出男女職工的平均工資,若男職工平均工資高出女職工平均工資50%,則顯示"男職工比女職工的工資高多了'的信息;若男職工平均工資與女職工平均工資比率在 1.50.8 之間,則顯示"男職工跟女職工的工資差不多'的信息;否則顯示"女職工比男職工的工資高多了'的信息。declare avg1 float,avg2 float,ratio float -計算男職工平均工資 select avg1=avg(salary.工資) from worker,salary where worker.職工號=salary.職工號 and worker.性別="男" -計算女職工平均工資 select avg2=avg(salary.工資) from worker,salary where worker.職工號=salary.職工號 and worker

溫馨提示

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

評論

0/150

提交評論