SQL视图(View)

视图是SQL中的一个虚拟表,它基于SQL查询的结果集。视图不存储数据本身,而是存储一个查询,每次访问视图时都会执行这个查询。

基本语法:

创建视图

 

CREATE VIEW view_name AS
SELECT column1, column2, ...
FROM table_name
WHERE condition;

 

查询视图

SELECT * FROM view_name;

 

修改更新视图

在 SQL 中,你不能直接使用 UPDATE 语句来更新视图,因为视图是基于查询结果生成的虚拟表,而不是实际存储数据的表。

更新视图的实质是通过更新视图所基于的表中的数据,然后视图会反映这些变化。

CREATE OR REPLACE VIEW view_name AS
SELECT column1,column2,...
FROM table_name
WHERE condition;

或者

ALTER VIEW view_name AS
SELECT column1,column2,....
FROM table_name
WHERE condition;

删除视图

DROP VIEW view_name;

视图的优点

  1. 简化复杂查询:将复杂的SQL查询封装在视图中,用户只需查询视图
  2. 安全性:可以限制用户只能访问视图,而不能访问底层基表
  3. 数据独立性:即使底层表结构变化,也可以保持视图不变
  4. 重用性:多个查询可以共享同一个视图定义

 

 

 

视图实例:

 

CREATE VIEW department_salary_stats AS
SELECT 
    d.dept_name,
    COUNT(DISTINCT de.emp_no) AS employee_count,
    AVG(s.salary) AS avg_salary,
    MAX(s.salary) AS max_salary,
    MIN(s.salary) AS min_salary
FROM departments d
JOIN dept_emp de ON d.dept_no = de.dept_no
JOIN salaries s ON de.emp_no = s.emp_no
GROUP BY d.dept_name;

 

posted @ 2025-07-13 15:28  Yu-potato  阅读(14)  评论(0)    收藏  举报