黑马程序员-oracle(第七讲)
1、求部门中哪些人的薪水最高
求出各部门的平均薪水所属的等级
求出每个部门中所有人薪水等级的平均值
2、需求:求出雇员中有哪些人是经理
3、面试题:不用组函数求出emp表中薪水最高的人和他的薪水(也就是不让用max函数)
4、面试题:求出平均薪水最高的部门的部门编号和平均薪水
5、面试题:求出平均薪水最高的部门的部门名称和平均薪水
另一种方式:
既然第四题中已经求出了部门编号,我们可以直接根据部门编号从dept中查找对应的部门名称。
6、求平均薪水的等级最低的部门的部门名称
我们可以看到上面这个非常长的sql语句中有很多不分是重复的,那么我们可不可以为这部分定义一个别名,下面直接用呢?答案是不可以
演示:
这时候就要用到视图:
创建视图时以v$开头
演示:
这时候会出现权限不足,所以我们需要以管理员权限登陆并且赋予scott用户创建表、创建视图的权限
再次尝试创建视图
其实,视图就是一张表,或者一个子查询,视图是一张虚表,实际的数据还是存在实际的表中,但是我们可以直接从视图中取出数据。
既然我们已经创建了视图,我们就可以利用这个视图来简写上面的写法。
7、求出比普通员工的最高薪水还要高的经理人名称及薪水
其实这么写就行了,老师这么写的