SQL视图查询语句
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL视图查询语句相关的知识,希望对你有一定的参考价值。
以Employee(职工信息表)、Departments(部门信息表)和Salary(工资信息表)为数据源,建立一个视图,要求查询每个部门2010年01月职工的最高收入和最低收入,显示“部门名称”、“最高收入”和“最低收入”,视图名称为“Dep_ MSalary”。
其他的都没问题,就要那段查询语句的代码
select 部门名称,salary.月份,max(sum(salary.工资)) 最高工资,min(sum(salary.工资)) 最低工资
from Employee,Departments,Salary
where Employee.员工ID = Salary.员工ID
and Employee.部门ID = Departments.部门ID
group by 部门名称 ,salary.月份
如果需要限定 月份,则为:
create view Dep_ MSalary as
select 部门名称,max(sum(salary.工资)) 最高工资,min(sum(salary.工资)) 最低工资
from Employee,Departments,Salary
where Employee.员工ID = Salary.员工ID
and Employee.部门ID = Departments.部门ID
and salary.月份 = xxx
group by 部门名称 参考技术A 视图查询语言为select语句,和查询表语句没有任何区别。
sql:select xidusn, object_id, session_id, locked_mode from v$locked_object;
解释:以上语句就是查询出数据库中死锁视图下的相应信息语句,结构就是“select 字段 from 视图名称”;
备注:数据库中视图通常用“V$”进行命名(这个是命名规范,不是非得用)。 参考技术B create view dep_msalary
as
select 部门名称, 最高收入,最低收入 from
(select t2.departmentname 部门名称 ,t3.max(salary) 最高收入,min(salary) 最低收入 from employee t1, departments t2, salary t3 where t1.empid=t3.empid and t1.departid =t2.departid
and convert(char(7),t3.salarydate,111) ='2011/01' group by t2.departmentname ) 参考技术C create view Dep_ MSalary
as
select b.部门名称,max(c.工资) 最高收入,min(c.工资) 最低收入
from Employee a,Departments b,Salary c
where a.员工ID = c.员工ID
and a.部门ID = b.部门ID
and c.月份 = ‘2010年01月'
group by b.部门名称 参考技术D 貌似不太难,先对工资表做筛选,然后做职工和部门表的连接。。
sql语句—视图
视图:
什么是视图,视图其实就是一条sql语句,他就是一条查询语句,可以把一条很长的sql语句包装一下,视图也能删除修改添加,不过一般都不要这样操作,用来查询就行了
视图的三大类型:
Merge 查询的时候会把视图的sql语句和外部sql语句进行结合,然后运行
Temptable 查询的结果会存在临时表内,然后进行查询
Undefined 未知 未知算法
创建视图
Create view hello as select * from table_type_view1
修改视图
Alter view hello as select * from table_type_view1 0,10
指定视图引擎
Alter algorithm=merge viewStudentview as select sname from student
删除视图
删除和修改,仅对数据查询出来的数据删除修改
Deop view studentview
关联关系:
什么叫做关联关系?
一个列只放一个值
在一个表格设计定稿后 在开发的过程中最好不要对列添加和删除
设计表格的时候不应该在别的表格中显示同样的数据
以上是关于SQL视图查询语句的主要内容,如果未能解决你的问题,请参考以下文章