zoukankan      html  css  js  c++  java
  • oracle学习11

    一、视图

     

     现在有一个表,里面有很多列,现在抽取一部分显示

    而你单纯的select  a,b,c from employees

    只是查询到数据并没有什么,等下次再查还需要重新写

    而view是存储起来的,当断电后,view还在

    create table A as select   brxm,ksdm,zyh from ms_brry  

    现在这个表好像和视图的作用差不多,

     

     

    比如现在有个employee表里面包含于员工信息相关的所有信息

    比如:工资,年龄,职位,奖金,评价等

    但是查看奖金、评价等是需要权限的,需要一定的级别才能看见

    比如CEO的级别是一级,然后往下类推

    如果只让DBA看到employee表的一个子表,当有员工离职或者某些数据变动的时候,他修改的是子表而不是employee,所以不可行

    目标:

           1.公司不同的人访问公司的信息是不同的

           2.当DBA对数据修改后所有人都能看到修改和更新后的数据

    当对视图进行修改的是时候也会对原表的数据进行更新

     

    查询表示一个一个的,视图可以多表连接

     

    二、创建视图view

    create view thomas_brxm
    as
    select brxm,brid,mzhm from ms_brda where brid=158467

    对视图进行操作原表信息也进行更改

    三、修改视图

     

     

    四、TOP-N思想

     

    select top 10 mzhm from ms_brda

    现在top 10 还不会用

    现在sql是下面的的

    得到的结果是:

     

     上面这样salary是排序的,但是rownum是乱的

     

     

    上面的sql出不来信息

    因为rownum不能用>、=、>=

    不能这么用是因为rownum是个虚列

    比较图(1)与图(2)

    图(1)

    图(2)

    这样就不会把A当做伪列处理

  • 相关阅读:
    微擎使用函数获取用户微信信息
    xshell连接不上linux情况一
    destoon手机端分页
    kvm安装win2012
    kvm安装ubuntu
    KVM的磁盘管理相关
    ubuntu的iptables
    kvm安装win2003
    Centos-6.4 安装mysql-5.5.14
    CentOS 6.4安装bind-9.8.2最新版(DNS服务器)
  • 原文地址:https://www.cnblogs.com/thomasbc/p/7272103.html
Copyright © 2011-2022 走看看