DDL 视图

本文介绍了如何在SQL中创建视图及复杂视图,并演示了如何从这些视图中检索数据。首先展示了基本视图的创建过程,接着通过联合多个表创建了一个复杂视图,该视图可以用于展示每个部门的员工工资的最大值、最小值、平均值及总和。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

http://www.verejava.com/?id=1717413465805

知识点
  1. 创建视图   ----重点
  2. 删除视图
  3. 创建复杂视图   ----重点
  
  
1 . 视图
  视图是从实际的数据表中提取数据后形成的 虚拟表
  
  1. 创建视图
    CREATE [OR REPLACE] VIEW 视图名 [字段名...] AS 子查询
    REPLACE : 如果视图存在则替换
    例如:
      创建一个员工表
      CREATE TABLE emp
        (
        id int(10),
        name VARCHAR(20),
        job VARCHAR(20),
        dept_no int(10)
        );
      在员工表emp 插入数据
       INSERT INTO emp VALUES(1,'张涛','程序员',10);
       INSERT INTO emp VALUES(2,'王涛','程序员',10);
       INSERT INTO emp VALUES(3,'张浩','财务',20);
  
      创建一个视图 emp_view 显示部门号为 10 的所有员工表emp中的数据
      CREATE VIEW emp_view AS SELECT * FROM emp WHERE dept_no=10;
  
        
      查看视图结构
      DESC emp_view;
  
      查看视图中的数据
      SELECT * FROM emp_view;   
    
  2. 删除视图
    DROP VIEW 视图名 
  
    
  
  3. 创建复杂视图
    复杂视图 是对于多个表联合创建视图
    例如:
      创建一个部门表
      CREATE TABLE dept
        (
        id int(10) PRIMARY KEY,
        name VARCHAR(30)
          );
      向部门表插入数据
      INSERT INTO dept VALUES(1,'IT');
      INSERT INTO dept VALUES(2,'财务');
  
      创建一个员工表
      CREATE TABLE emp
        (
        id int(10),
        name VARCHAR(30),
        salary int(10),
        dept_id int(10),
        FOREIGN KEY (dept_id) REFERENCES dept(id) 
        );
      向员工表插入数据
      INSERT INTO emp VALUES(1,'王浩',6000,1);
      INSERT INTO emp VALUES(2,'李洁',5000,1);
      INSERT INTO emp VALUES(3,'张强',6000,2);
      INSERT INTO emp VALUES(4,'张涛',8000,2);
  
      创建一个视图显示每个部门的所有员工的工资 最大值, 最小值, 平均值, 总值
      CREATE VIEW dept_emp_view
      AS SELECT d.name,max(e.salary) max,min(e.salary) min,avg(e.salary) avg,sum(e.salary) sum FROM dept d,emp e 
      WHERE d.id=e.dept_id GROUP BY d.name;

http://www.verejava.com/?id=1717413465805

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值