西南石油大學(xué)數(shù)據(jù)庫實(shí)驗(yàn)項(xiàng)目二_第1頁
西南石油大學(xué)數(shù)據(jù)庫實(shí)驗(yàn)項(xiàng)目二_第2頁
西南石油大學(xué)數(shù)據(jù)庫實(shí)驗(yàn)項(xiàng)目二_第3頁
西南石油大學(xué)數(shù)據(jù)庫實(shí)驗(yàn)項(xiàng)目二_第4頁
西南石油大學(xué)數(shù)據(jù)庫實(shí)驗(yàn)項(xiàng)目二_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、西南石油大學(xué)實(shí)驗(yàn)報(bào)告課程名稱:數(shù)據(jù)庫原理與應(yīng)用插入你的照片實(shí)驗(yàn)項(xiàng)目名稱:實(shí)驗(yàn)項(xiàng)目2專業(yè)年級(jí)班級(jí)、姓名、學(xué)號(hào):電子郵件地址:實(shí)驗(yàn)所用機(jī)器名: 實(shí)驗(yàn)時(shí)間地點(diǎn):實(shí)驗(yàn)指導(dǎo)教師: 成績(jī)批改人批改日期一、實(shí)驗(yàn)課時(shí):4二、實(shí)驗(yàn)?zāi)康?1) 理解查詢的概念和方法。(2) 掌握SELECT語句在單表查詢中的應(yīng)用。(3) 掌握SELECT語句在多表連接查詢中的應(yīng)用。(4) 掌握SELECT語句在嵌套查詢中的應(yīng)用。(5) 掌握SELECT語句在集合查詢中的應(yīng)用。(6) 主要掌握使用“查詢分析器”進(jìn)行查詢。三、實(shí)驗(yàn)環(huán)境(1) PC機(jī)。(2) SQL Server 2008。四、實(shí)驗(yàn)內(nèi)容及步驟  &#

2、160;以下查詢均使用實(shí)驗(yàn)項(xiàng)目1中創(chuàng)建的COMPANY數(shù)據(jù)庫。1單表查詢(1)基本查詢。Q0. 使用查詢分析器從Employee表中檢索出所有員工的姓名。SELECT FNAME,LNAME FROM EMPLOYEE;Q1. 查詢所有員工的FNAME、LNAME、SSN、SEX和SALARY,并分別將SEX和SALARY的列名重命名為“性別”、“工資”。SELECT FNAME,LNAME,SSN,SEX 性別,SALARY 工資FROM EMPLOYEE;Q2.從Employee表中檢索出員工的FNAME、LNAME、SSN、BDATE、SALARY等字段,并分別加上“名”、“姓”、“社會(huì)

3、保險(xiǎn)號(hào)”、“生日”、“工資”的標(biāo)題。員工的排序規(guī)則為:首先按工資的降序排列,然后按FNAME的字母升序排列。SELECT FNAME 姓,LNAME 名,SSN 社會(huì)保險(xiǎn)號(hào),BDATE 生日,SALARY 工資FROM EMPLOYEEORDER BY SALARY DESC,FNAME;Q3. 查詢不重復(fù)的員工工資值。SELECT DISTINCT SALARY FROM EMPLOYEE;Q4. 查詢沒有直接上司的員工姓名。SELECT FNAME,LNAME,SUPERSSN FROM EMPLOYEEWHERE SUPERSSN IS NULL;(2) 基于WHERE子句進(jìn)行數(shù)據(jù)查詢。

4、1)基于比較條件。Q5. 從Employee表中查詢出工資大于等于40000的員工資料。SELECT * FROM EMPLOYEEWHERE SALARY>=40000;Q6. 查詢所有的女性家屬的全部信息,并按生日的降序排列。SELECT * FROM DEPENDENT WHERE SEX='F'ORDER BY BDATE DESC ;Q7. 查詢所有不屬于5號(hào)部門的員工信息。SELECT * FROM EMPLOYEEWHERE (NOT DNO='5');Q8. 利用OR關(guān)鍵字查詢屬于1號(hào)或4號(hào)部門的員工信息。SELECT * FROM EMP

5、LOYEEWHERE DNO='1' OR DNO='4'Q9.檢索姓名為John B.Smith的員工的SSN、性別、出生日期和地址。SELECT SSN,SEX,BDATE,ADDRESS FROM EMPLOYEEWHERE FNAME='JOHN' AND LNAME ='SMITH' AND MINIT='B'Q10. 查詢1960年以后出生的員工信息(注意日期寫完整)。SELECT * FROM EMPLOYEEWHERE BDATE >='1960-01-01'2)基于BETWE

6、EN子句的查詢。Q11. 從Employee表中查詢出1960年1970年之間出生的員工資料(注意日期寫完整)。SELECT * FROM EMPLOYEEWHERE BDATE BETWEEN '1960-01-01' AND '1970-12-31' ;3)基于IN子句的查詢。Q12. 從Employee表中查詢出部門號(hào)為4或者5的員工資料。SELECT * FROM EMPLOYEEWHERE DNO IN (4,5);4)基于LIKE子句的查詢。Q13. 從Employee表中查詢出LNAME中含有字母o的員工資料。SELECT * FROM EMPLO

7、YEEWHERE LNAME LIKE '%o%'Q14. 查詢項(xiàng)目名稱以P開頭的項(xiàng)目信息。SELECT * FROM PROJECTWHERE PNAME LIKE 'P%'Q15.檢索居住在Houston的員工所有信息。SELECT * FROM EMPLOYEEWHERE ADDRESS LIKE '%Houston%'(3) 使用計(jì)算列和匯總函數(shù)查詢。Q16. 從Employee表中檢索出員工的FNAME、LNAME、SSN、SALARY等字段(其中SALARY需換算成人民幣,匯率假定為1美元=6人民幣元),并分別加上“名”、“姓”、“社

8、會(huì)保險(xiǎn)號(hào)”、“人民幣工資”的標(biāo)題。SELECT FNAME 名,LNAME 姓,SSN 社會(huì)保險(xiǎn)號(hào),SALARY*8 人民幣工資 FROM EMPLOYEE;Q17. 統(tǒng)計(jì)所有員工的平均工資。SELECT AVG(SALARY) AS 員工平均工資FROM EMPLOYEE;Q18. 查詢所有員工在所有項(xiàng)目上每周工作的總小時(shí)數(shù)。SELECT SUM(HOURS) AS 總小時(shí)數(shù)FROM WOEKS_ON;Q19. 查詢各個(gè)部門員工的平均工資,顯示部門號(hào)和對(duì)應(yīng)的平均工資值。SELECT DNO,AVG(SALARY) AS 平均工資FROM EMPLOYEEGROUP BY DNO;Q20. 查

9、詢每個(gè)員工所有參與項(xiàng)目的每周工作總小時(shí)數(shù),顯示員工SSN和總小時(shí)數(shù)。SELECT ESSN, SUM(HOURS) AS 總小時(shí)數(shù) FROM WOEKS_ONGROUP BY ESSN;Q21. 列出所有參與了項(xiàng)目的員工編號(hào)及其參與項(xiàng)目數(shù)。SELECT DISTINCT ESSN,COUNT(*)FROM WOEKS_ON GROUP BY ESSN Q22. 統(tǒng)計(jì)參與了2個(gè)以上項(xiàng)目的員工編號(hào)和其參與項(xiàng)目的每周工作平均時(shí)間。SELECT ESSN ,COUNT(*) AS 項(xiàng)目數(shù),AVG(HOURS) AS 每周工作平均時(shí)間FROM WOEKS_ONGROUP BY ESSNHAVING CO

10、UNT(*)>2; Q23. 查詢有2個(gè)以上男性員工的部門編號(hào)和該部門的總?cè)藬?shù)(包括男女員工)(選做)。SELECT DNO, COUNT(*) AS 總?cè)藬?shù)FROM EMPLOYEEGROUP BY SEX,DNOHAVING COUNT(*)>2 AND SEX='M'2多表連接查詢(使用JOIN)Q24. 查詢部門編號(hào)、名稱及該部門經(jīng)理的姓名。SELECT DEPARTMENT.DNUMBER,DEPARTMENT.DNAME,EMPLOYEE.FNAME+','+EMPLOYEE.MINIT+','+EMPLOYEE.LNAM

11、E AS 姓名FROM DEPARTMENTJOIN EMPLOYEEON DEPARTMENT.MGRSSN=EMPLOYEE.SSNQ25. 查詢所有員工(包括沒有家屬的員工)姓名、編號(hào)及其家屬姓名。SELECT EMPLOYEE.*,DEPENDENT.DEPENDENT_NAMEFROM EMPLOYEELEFT OUTER JOIN DEPENDENTON EMPLOYEE.SSN=DEPENDENT.ESSNQ26. 查詢所有為Research部門工作的員工姓名及地址。SELECT FNAME,MINIT,LNAME,ADDRESSFROM EMPLOYEE JOIN DEPART

12、MENT ON EMPLOYEE.DNO=DEPARTMENT.DNUMBERWHERE DEPARTMENT.DNAME='RESEARCH'Q27. 對(duì)于所有位于Stafford的項(xiàng)目,查詢項(xiàng)目的編號(hào)、項(xiàng)目負(fù)責(zé)部門編號(hào)以及該部門經(jīng)理的姓、地址、生日。SELECT PNUMBER,DNUM,LNAME,ADDRESS,BDATEFROM EMPLOYEEJOIN PROJECT ON (EMPLOYEE.DNO=PROJECT.DNUM)JOIN DEPT_LOCATIONSON (PROJECT.DNUM=DEPT_LOCATIONS.DNUMBER)WHERE DLOCA

13、TION='Stafford'Q28. 查詢有兩個(gè)或以上家屬的員工姓名(此題較難,若不能完成者可只查詢出員工的SSN而不是姓名)。SELECT SSNFROM EMPLOYEEJOIN DEPENDENT ON(EMPLOYEE.SSN=DEPENDENT.ESSN)GROUP BY SSNHAVING COUNT(SSN)>2;Q29. 查詢?cè)赑roductX項(xiàng)目上每周工作時(shí)間超過10小時(shí)的部門5的員工姓名。SELECT FNAME,LNAMEFROM EMPLOYEEJOIN WOEKS_ON ON(EMPLOYEE.SSN=WOEKS_ON.ESSN)JOIN PR

14、OJECT ON (WOEKS_ON.PNO=PROJECT.PNUMBER)WHERE PROJECT.PNAME='PRODUCTX'Q30. 對(duì)于每個(gè)項(xiàng)目,列出項(xiàng)目名稱以及所有員工在此項(xiàng)目上工作的總時(shí)間。SELECT PNAME,SUM(HOURS)FROM WOEKS_ONJOIN PROJECT ON (WOEKS_ON.PNO=PROJECT.PNUMBER)GROUP BY PNAME;Q31. 對(duì)于每個(gè)部門,列出部門名稱以及此部門員工的平均工資。SELECT DNAME,AVG(SALARY)FROM EMPLOYEEJOIN DEPARTMENT ON (EM

15、PLOYEE.DNO=DEPARTMENT.DNUMBER)GROUP BY DNAME;Q32. 對(duì)于每個(gè)員工(包括無上司員工),查詢其姓名以及他/她的直接上司的姓名。SELECT E1.LNAME+','+E1.FNAME 員工姓名,E2.LNAME+','+E2.FNAME 上司姓名FROM Company_Henianchen.dbo.EMPLOYEE E1left JOIN Company_Henianchen.dbo.EMPLOYEE E2 ON (E1.SUPERSSN=E2.SSN)Q33. 查詢Company數(shù)據(jù)庫中所有員工SSN與DNAME(

16、部門名稱)的組合。SELECT SSN,DNAMEFROM EMPLOYEEJOIN DEPARTMENT ON (EMPLOYEE.DNO=DEPARTMENT.DNUMBER)Q34. 查詢有兩個(gè)或以上“工資大于等于30000員工”的部門名稱。3嵌套查詢(子查詢)Q35. 查詢Research部門的員工姓名。SELECT LNAME+','+FNAME 姓名FROM EMPLOYEEwhere DNO=(SELECT DNUMBER FROM DEPARTMENT WHERE DNUMBER=5)Q36. 查詢參與了項(xiàng)目的員工姓名。(必須用IN謂詞)SELECT LNAME

17、+','+FNAME 姓名FROM EMPLOYEEwhere DNO IN (SELECT DNUM FROM PROJECT)Q37. 查詢參與了項(xiàng)目的員工姓名。(必須用EXISTS謂詞)SELECT LNAME+','+FNAME 姓名FROM EMPLOYEEwhere EXISTS(SELECT* FROM PROJECT WHERE EMPLOYEE.DNO=PROJECT.DNUM)Q38. 查詢沒有參與任何部門5控制項(xiàng)目的員工姓名。SELECT LNAME+','+FNAME 姓名FROM EMPLOYEEwhere DNO<

18、;>ALL(SELECT DNUMBER FROM DEPARTMENT WHERE DNUMBER=5)Q39. 查詢工資超過部門5所有員工工資的員工姓名。SELECT LNAME+','+FNAME 姓名FROM EMPLOYEEwhere SALARY >ALL(SELECT SALARY FROM EMPLOYEE WHERE DNO=5)Q40. 查詢參與了所有項(xiàng)目的員工姓名。(選做)Q41. 查詢至少參與了所有部門4控制項(xiàng)目的員工姓名。(選做)Q42. 查詢至少參與了所有John Smith參與項(xiàng)目的員工姓名。(選做)Q43. 查詢至少有一個(gè)家屬的部門經(jīng)理姓名。(必須用EXISTS謂詞)SELECT LNAME FNAME FROM EMPLOYEEwhere EXISTS(SELECT * FROM Company_Henianchen.dbo.DEPENDENT)JOIN Company_Henianchen.dbo.DEPARTMENT ON (DEPENDENT.ESSN=DEPARTMENT.MGASSN)Q44. 查詢有兩個(gè)或以上隸屬員工的部門名稱及其“工資大于等于300

溫馨提示

  • 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)論