zoukankan      html  css  js  c++  java
  • 第五章 复杂查询 5-1 视图

    一、视图和表
    1、什么是视图:从SQL的角度来看,视图就是一张表。只是这张表不保存实际数据,而是保存SELECT语句。

    2、视图的优点
    (1)视图无需保存数据,因此可以节约存储设备的容量。
    注:表中存储的是实际数据,而视图中保存的是从表中取出数据所使用的SELECT语句。
    (2)可以将频繁使用的SELECT语句保存成视图,这样就不用每次都重新书写了。
    只需要在SELECT语句中进行调试,就可以方便地得到想要的结果了。特别是在进行汇总以及复杂的查询条件导致SELECT语句异常庞大时,使用视图可以大大提高效率。
    (3)视图中的数据会随着原表的变化自动更新,因此可以保证数据的最新状态。
    注:数据保存在表中时,必须要显式地执行SQL更新语句才能对数据进行更新。

    二、创建视图的方法

    例子:

    1、使用视图的查询
    在FROM中使用视图的查询,通常由如下两个步骤:
    (1)首先执行定义视图的SELECT语句。
    (2)根据得到的结果,在执行在FROM子句中使用视图的SELECT语句。
    注:我们应该避免在视图的基础上创建视图,因为对于多数的DBMS来说,多重视图会降低SQL的性能。
     
    三、视图的限制
    限制一1️⃣定义视图时不能使用ORDER BY子句。
    注:视图和表一样,数据行都是没有顺序的。
     
    限制二2️⃣对视图进行更新
    标准SQL规定:如果定义视图的SELECT语句能够满足某些条件,那么这个视图就可以被更新、这些条件如下:
    (1)SELECT子句中未使用DISTINCT
    (2)FROM子句中只有一张表
    (3)未使用GROUP BY子句
    (4)未使用HAVING子句
     
    四、删除视图

  • 相关阅读:
    PHP简单工厂模式、工厂方法模式和抽象工厂模式
    PHP的HashTable实现
    理解Hash
    PHP中Array的hash函数实现
    R-FCN论文讲解(转载链接)
    目标检测的发展历程
    K-means算法
    pytorch0.4.1安装
    反卷积(deconvolution)
    faster-rcnn自己的理解总结(包括它的前世今身R-CNN和fast R-CNN)
  • 原文地址:https://www.cnblogs.com/mumulin99/p/9835657.html
Copyright © 2011-2022 走看看