西南石油大学数据库实验项目二

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

西南石油大学实验报告

二、实验目的

(1) 理解查询的概念和方法。

(2) 掌握SELECT语句在单表查询中的应用。

(3) 掌握SELECT语句在多表连接查询中的应用。

(4) 掌握SELECT语句在嵌套查询中的应用。

(5) 掌握SELECT语句在集合查询中的应用。

(6) 主要掌握使用“查询分析器”进行查询。

三、实验环境

(1) PC机。

(2) SQL Server 2008。

四、实验内容及步骤

以下查询均使用实验项目1中创建的COMPANY数据库。

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等字段,并分别加上“名”、“姓”、“社会保险号”、“生日”、“工

资”的标题。员工的排序规则为:首先按工资的降序排列,然后按FNAME 的字母升序排列。

SELECT FNAME姓,LNAME名,SSN社会保险号,BDATE生日,SALARY工资

FROM EMPLOYEE

ORDER BY SALARY DESC,FNAME;

Q3.查询不重复的员工工资值。

SELECT DISTINCT SALARY FROM EMPLOYEE;

Q4.查询没有直接上司的员工姓名。SELECT FNAME,LNAME,SUPERSSN FROM EMPLOYEE WHERE SUPERSSN IS NULL;

(2) 基于WHERE子句进行数据查询。

1)基于比较条件。

Q5. 从Employee表中查询出工资大于等于40000的员工资料。SELECT*FROM EMPLOYEE

WHERE SALARY>=40000;

Q6. 查询所有的女性家属的全部信息,并按生日的降序排列。SELECT*FROM DEPENDENT

WHERE SEX='F'

ORDER BY BDATE DESC;

Q7. 查询所有不属于5号部门的员工信息。

SELECT*FROM EMPLOYEE

WHERE (NOT DNO='5');

Q8. 利用OR关键字查询属于1号或4号部门的员工信息。

SELECT*FROM EMPLOYEE

WHERE DNO='1'OR DNO='4'

Q9.检索姓名为John B.Smith的员工的SSN、性别、出生日期和地址。SELECT SSN,SEX,BDATE,ADDRESS FROM EMPLOYEE

WHERE FNAME='JOHN'AND LNAME='SMITH'AND MINIT='B';

Q10. 查询1960年以后出生的员工信息(注意日期写完整)。

SELECT*FROM EMPLOYEE

WHERE BDATE>='1960-01-01';

2)基于BETWEEN子句的查询。

Q11. 从Employee表中查询出1960年——1970年之间出生的员工资料(注意日期写完整)。

SELECT*FROM EMPLOYEE

WHERE BDATE BETWEEN'1960-01-01'AND'1970-12-31';

3)基于IN子句的查询。

Q12.从Employee表中查询出部门号为4或者5的员工资料。

SELECT*FROM EMPLOYEE

WHERE DNO IN(4,5);

4)基于LIKE子句的查询。

Q13.从Employee表中查询出LNAME中含有字母o的员工资料。SELECT*FROM EMPLOYEE

WHERE LNAME LIKE'%o%';

Q14. 查询项目名称以P开头的项目信息。

SELECT*FROM PROJECT

WHERE PNAME LIKE'P%';

Q15.检索居住在Houston的员工所有信息。

SELECT*FROM EMPLOYEE

WHERE ADDRESS LIKE'%Houston%';

(3) 使用计算列和汇总函数查询。

Q16.从Employee表中检索出员工的FNAME、LNAME、SSN、SALARY等字段(其中SALARY需换算成人民币,汇率假定为1美元=6人民币元),并分别加上“名”、“姓”、“社会保险号”、“人民币工资”的标题。

SELECT FNAME名,LNAME姓,SSN社会保险号,SALARY*8 人民币工资

FROM EMPLOYEE;

Q17.统计所有员工的平均工资。

SELECT AVG(SALARY)AS员工平均工资

FROM EMPLOYEE;

Q18.查询所有员工在所有项目上每周工作的总小时数。

SELECT SUM(HOURS)AS总小时数

FROM WOEKS_ON;

Q19.查询各个部门员工的平均工资,显示部门号和对应的平均工资值。SELECT DNO,AVG(SALARY)AS平均工资

FROM EMPLOYEE

GROUP BY DNO;

Q20.查询每个员工所有参与项目的每周工作总小时数,显示员工SSN和总小时数。

SELECT ESSN,SUM(HOURS)AS总小时数

FROM WOEKS_ON

GROUP BY ESSN;

相关文档
最新文档