《数据库课间实习.ppt》由会员分享,可在线阅读,更多相关《数据库课间实习.ppt(19页珍藏版)》请在三一办公上搜索。
1、数据库课间实习,Microsoft SQL Sever,进入SQL Server Management Studio服务器名称:所在机位的机号身份验证:Windows身份验证,Microsoft SQL Sever,1.建立数据库,在E:盘新建一个名为DBF的文件夹。创建数据库:右击数据库,在下拉菜单中选择新建数据库。,1.建立数据库,文件夹中出现两个数据库文件,2.在数据库中建立各表,右击已建的数据库下拉菜单中 任务-导入数据,3.利用SQL语言完成各题,(1)求出各部门的党员人数。SELECT wdepartid AS 部门号,COUNT(wparty)AS 党员人数FROM worker
2、WHERE(wparty=1)GROUP BY wdepartid,(2)显示所有职工的职工号、姓名和平均工资。SELECT sid AS 职工号,sname AS 姓名,AVG(smoney)AS 平均工资 FROM salary GROUP BY sid,sname;,(3)显示所有平均工资低于全部职工平均工资的职工的职工号和姓名。SELECT sid AS 职工号,sname AS 姓名,AVG(smoney)AS 平均工资FROM salary GROUP BY sid,snameHAVING AVG(smoney)(SELECT AVG(smoney)FROM salary)ORDE
3、R BY sid;,(4)显示所有职工的职工号、姓名、部门名和2004年2月份工资,并按部门名顺序排列。SELECT worker.wid AS 职工号,worker.wname AS 姓名,depart.dname AS 部门名,salary.smoney AS 2004年2月份工资 FROM worker,depart,salary WHERE worker.wdepartid=depart.ddepartid and worker.wid=salary.sid and salary.stime=2004-02-03ORDER BY worker.wdepartid ASC;,(5)显示各
4、部门名和该部门的所有职工平均工资。SELECT depart.dname AS 部门名,AVG(salary.smoney)AS 部门平均工资 FROM worker,depart,salary WHERE worker.wdepartid=depart.ddepartid and worker.wid=salary.sidGROUP BY depart.dname;,(6)显示最高工资的职工的职工号、姓名、部门名、工资发放日期和工资。SELECT salary.sid AS 职工号,salary.sname AS 姓名,depart.dname AS 部门名,salary.stime AS
5、工资发放日期,salary.smoney AS 工资FROM worker,depart,salary WHERE worker.wdepartid=depart.ddepartid and worker.wid=salary.sid AND salary.smoney=(SELECT MAX(smoney)FROM salary);,(7)若存在职工号为10的职工,则显示其工作部门名字。存在量词查询SELECT depart.dname AS 部门名FROM depart WHERE EXISTS(SELECT*FROM worker WHERE wdepartid=depart.ddepa
6、rtid AND wid=10);,嵌套查询,谓词“IN”SELECT depart.dname AS 部门名FROM depart WHERE ddepartid IN(SELECT wdepartid FROM worker WHERE wid=10);复合连接SELECT depart.dname AS 部门名FROM depart,worker WHERE depart.ddepartid=worker.wdepartid and worker.wid=10;,(8)在salary表的“职工号”和“日期”列创建聚集索引,并且强制唯一性,若该索引已存在,则删除后重建。索引建立:creat
7、e unique clustered index IDX_salary on salary(sid,stime);exec sp_helpindex salary/*查看表中所有约束*/,(9)建立视图View1,显示所有职工的姓名和2004年1月份工资数。CREATE VIEW V1_salary AS SELECT sname,smoney FROM salary WHERE stime=2004-01-04,(10)建立视图View2,查询各部门女职工的姓名和其平均工资。CREATE VIEW V2_salary(sname,mavg)AS SELECT salary.sname,AVG(salary.smoney)FROM salary,worker WHERE worker.wid=salary.sid and worker.wsex=女 GROUP BY salary.sname,