• oracle第三天+第四天


    逐值替换
    decode,组成字符串
    extract 年龄相减
    TO_char转换函数
    日期对象 to_date(不能用中文)
    控制转换 nvl()将空值转为0
    也可以(comm,10,0)满足是10,不满足是0
    分析函数
    row_number它是将相同的排名直接列出来
    rank()将相同的排名并列,但是下一个就没有了
    dense_rank()将相同的排名并列,下面的编号也有
    赋权限
    grant create synonym to lvmin 给账号赋同义词的权限
    grant select,update,delete on scott.emp to lvmin
    第一种:私有同义词
    谁创建的账号就是谁的,
    第二种:共有同义词,
    create public synonym a for scott.emp
    这个同义词是给表赋予的。

     --逐值替换
       select ename,decode(deptno,10,'开发部',20,'测试部',30,'维护部') from emp;

       -- 年份差
       select ename,extract(year from sysdate) - extract(year from hiredate)as 工龄 from emp

       -- 转换函数
       Select TO_CHAR(0.12355,'$0.9999') FROM DUAL;--转为字符串,四舍五入

       --日期对象
       select to_date('2019-11-11','yyyy-mm-dd')from dual
       --查询每一个人的工资总和
       --控制转换
       select ename,(sal+nvl(comm,0)) as 工资总和 from emp
       select * from emp
       select ename,(sal+nvl2(comm,10,0))as 工资总和 from emp

       --
       SELECT NULLIF(100,200)  FROM DUAL;
       SELECT NULLIF(100,200)  FROM DUAL
       --分析函数
        select ename,sal,row_number() over(order by sal asc) as 排名 from emp
        select ename,sal,rank() over(order by sal asc) as 排名 from emp --相同值并列
        select ename,sal,dense_rank() over(order by sal asc) as 排名 from emp --并列也计算上

        --赋权限,创建同义词的权利
        grant create synonym to lvmin
        --授予可以查询、删除、修改scott.emp的权限
        grant select,update,delete on scott.emp to lvmin;
        --创建私有同义词
        create synonym e for scott.emp
        select * from e
        --创建公有同义词
        create public synonym a for scott.emp
        --
        select * from a 直接给表设别名,查询方便。

    --第四天

     --创建序列
        create sequence seq0611
        start with 1
        increment by 1;--序列是一个独立的对象,有点类似于迭代器
        select * from java0611 --无回滚,这个序列就是一个虚拟数。
        insert into java0611 values(seq0611.nextval,'莫风','男',to_date('1991-01-08','yyyy-mm-dd'),222);
        
        select seq0611.currval from dual
        --
        select * from emp
        select * from emp join dept on emp.deptno=dept.deptno
        where dname='SALES'
        --创建视图
        create view dept_emp
        as
        select empno,ename,job,sal,comm,emp.deptno,dname from emp join dept on emp.deptno=dept.deptno
        --利用视图查询其中的某些条件
        select * from dept_emp where dname='SALES'
       
       --修改视图
       create or replace view dept_emp2
       as
       select * from emp order by sal asc
       --删除视图
       drop view dept_emp
       --查询视图
       --给scott授予创建视图的权限
       grant create view to scott
       --创建测试索引
           create table t_testseq
        (
          id number,
          name varchar2(10)
        );
    --创建序列,用于自增
    create sequence seq_value
    start with 1
    increment by 1;
    --视图
    --插入数据
    select * from t_testseq where id=69999
    --创建索引,提高检索速率
    create index in0611 on  t_testseq(id)

  • 相关阅读:
    LC 155 Min Stack
    TUM 慕尼黑工业大学 MSEI 课程结构介绍 ws19/20
    C++ MinGW 配合 Sublime Text 搭建
    LC 752 Open the Lock
    LC 200 Number of Islands
    Python lambda
    关于无法连接网络安装VisualVM解决方案
    二叉堆的解读
    哈希表的实现
    红黑树解读
  • 原文地址:https://www.cnblogs.com/a199706/p/11686424.html
Copyright © 2020-2023  润新知