实验方法与步骤(需求分析、算法设计思路、流程图等)
# 仓库地址
https://gitee.com/njit-wlk/njit-database
1.利用SQL语句条件查询
(1).查询person表中所有不重复的职称
语句:
select distinct professor from person
(4).查询000001员工的基本工资增长1.5倍后实际收入
(5).查询00102部门的员工的基本信息和工资情况,按实际工资降序排列
(7)查询2005年1月平均奖金不小于400的部门,按平均奖金升序排列
2.利用SQL语句嵌套查询
(1).查询2005年1月比000001员工实发工资高的所有员工的基本信息
(2).查询2005年1月比00102部门的所有员工实发工资都高的员工的基本信息
(3).查询2005年1月比所有员工平均实发工资都高的员工基本信息和工资明细
3.利用SQL语句创建视图
(1).在基表person基础上创建员工视图view_person,其中包括工号,姓名,性别,职称,部门代码字段
(2).在基表person,pay,dept基础上创建员工工资视图view_pay,其中包括年份,月份,工号,性别,职称,部门名称,基本工资,奖金,扣除,实发工资字段.
四、练习
对Education数据库进行以下的查询操作
(1).检索学分等于4的所有课程的课程号的课程名
(10).查询选修了课程名为”数据库原理”课程的学生的平均年龄
(11).为”计算机”系创建一个视图:CS_S(sno,sname,cname,grade)
五、拓展
(1).查询选修人数超过15的课程的课程名称和学生人数,查询结果按人数降序排列,若人数相同,按课程名称升序排列
select sc.Cno,count(distinct sc.Sno) as 选修人数
from course,sc
where course.Cno=sc.Cno
group by sc.Cno
having count(distinct Sno)>=15
order by 2 desc,1 asc
(2).查询课程号为”1001”课程考试成绩排名为5-7名的学生的学号和成绩
select top 3 sno,grade
from sc
where(Cno='1001')and(Sno not in
(select top 4 Sno
from sc
where Cno='1001'
order by grade desc))
order by grade desc