zoukankan      html  css  js  c++  java
  • 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)

  • 相关阅读:
    微信第三方平台开发之代小程序实现业务
    解决Chrome网页编码显示乱码的问题
    .Net Core 使用 System.Drawing.Common 在CentOS下报错
    CentOS安装nmap端口查看工具
    解决Nginx反向代理不会自动对特殊字符进行编码的问题 如gitblit中的~波浪线
    Centos7最小安装化后安装图形界面
    手把手教您在 Windows Server 2019 上使用 Docker
    windows10下安装docker报错:error during connect
    git删除远程分支
    linux下shell显示git当前分支
  • 原文地址:https://www.cnblogs.com/a199706/p/11686424.html
Copyright © 2011-2022 走看看