#一、创建视图/*
语法:
create view 视图名
as
查询语句;
*/USE myemployees;#1.查询姓名中包含a字符的员工名、部门名和工种信息#1.创建CREATEVIEW myv1
ASSELECT last_name,department_name,job_title
FROM`employees` e
JOIN`departments` d
ON e.department_id=d.department_id
JOIN jobs j ON j.job_id=e.job_id;#2.使用SELECT*FROM myv1
WHERE last_name LIKE'%a%';#2.查询各部门的平均工资级别 #1.创建视图查看每个部门的平均工资CREATEVIEW myv2
ASSELECTAVG(salary) ag,department_id
FROM`employees`GROUPBY department_id;SELECT*FROM myv2;#2.使用SELECT myv2.`ag`,g.grade_level
FROM myv2
JOIN job_grades g
ON myv2.`ag`BETWEEN g.`lowest_sal`AND g.`highest_sal`;#3.查询平均工资最低的部门信息#1.创建视图查看每个部门的平均工资#第二题已经有了该视图#2.使用SELECTMIN(myv2.`ag`),*FROM myv2
JOIN`departments` d
ON myv2.`department_id`=d.`department_id`;#正解SELECT*FROM myv2
ORDERBY ag
LIMIT1;#4.查询平均工资最低的部门名和工资CREATEVIEW myv3
ASSELECT*FROM myv2
ORDERBY ag
LIMIT1;SELECT d.*,m.ag
FROM myv3 m
JOIN departments d
ON m.department_id=d.`department_id`;#二、视图的修改#方式一:/*
CREATE or replace view 视图名
as
查询语句;
*/SELECT*FROM myv3;CREATEORREPLACEVIEW myv3
ASSELECTAVG(salary),job_id
FROM employees
GROUPBY job_id;#方式二:/*
语法:
alter view 视图名
as
查询语句;
*/ALTERVIEW myv3
ASSELECT*FROM employees;