当前位置:首页 > 数据库 > Oracle

oracle数据库查询2

1.连接操作符

            select
            
            姓名为
            || ename||工作为||job||工资为|| sal as info from emp

2.将字符串转为小写

            select lower(ename)as name from emp

3.逐值替换

            select decode(deptno,10,开发部,20,产品部,30,维护部)from emp

4.当前系统日期的年份

            select extract(year from sysdate) from dual

5.查询每个员工的工龄

            select extract(year from sysdate) - extract(year from hiredate)  as age from emp

6.转换函数

            select to_char(0.123,$0.9999)from dual

7.将日期对象转成字符串

SELECT TO_CHAR(sysdate,YYYY"年"fmMM"月"fmDD"日" HH24:MI:SS)FROM dual;

8.查询员工工资和(工资+奖金)

            select ename,sal+nvl(comm,0) from emp
select ename,sal+nvl2(comm,comm,0) from emp

9.如果二个值不一样则结果为第一个值,如果两个值一样则结果为null

            select nullif(200,200) from dual

10.分析函数(看后面num‘值)

-- row_number()连续排位

            select emp.*, row_number() over(order by sal desc ) as num from emp 

技术分享图片

 

 

 --rank

            select emp.*, rank() over(order by sal desc ) as num from emp 

技术分享图片

 

 

 -- dense rank

技术分享图片

 

 

 11.创建一个用户

            CREATE  USER  test  IDENTIFIED  BY  test;
GRANT  CONNECT , CREATE  SYNONYM TO test;
GRANT  SELECT   ON   SCOTT.EMP  TO test;
GRANT  DELETE  ON   SCOTT.EMP TO test;
GRANT  UPDATE  ON  SCOTT.EMP TO test;
        

12.创建同义词

            CREATE  SYNONYM   e   FOR  SCOTT.emp;

            select * from e

13.创建公有同义词

            CREATE   PUBLIC   SYNONYM  pub_emp FOR  SCOTT.emp;

            select * from  pub_emp 

14.创建序列

            CREATE  sequence mysql
start with 
            1
            
increment by 
            1
            

create  table student(
        sid 
            int
             primary key,
        sname varchar(
            20
            )
) 

insert into student values(mysql.nextval,
            
            张三
            
            )

            select mysql.currval from dual
select * from student

15.授权

grant create view to scott

16.创建视图

            create  view dept_emp 

            as
            select dept.deptno,dname,loc,empno,ename,job,mgr,hiredate from emp join dept on emp.deptno=dept.deptno

欢迎各位大神指点和评论;

原文:https://www.cnblogs.com/lxc127136/p/13072267.html


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!

相关教程推荐

其他课程推荐