首页 > 代码库 > oracle_11g -1

oracle_11g -1

select * from dual//select 2*3 from dual;_ select 2*3 from emp;


select ename ,sal*12 from emp; select ename,sal*12 anuual_sal from emp;

select ename ,sal*12 "anuual sal" from emp;//引号 保存里面的状态 不会转化成大写


1.任何含有空值的 数学表达式 结果都是空值

2.字符串的链接 || 相当于Java中的+

3.字符串中含有 ‘  , 用两个’‘表示出来 那一个

4.select deptno,job from emp; select distinct deptno,job from emp;   distinct 去掉重复

5.select ename,sal,comm from emp where comm is null; 

 select ename, sal ,comm from emp where comm=null ;  错误嘚  ,选定某项为空  用is;

6.select ename ,sal,comm from emp where ename in (‘tom‘,‘jake‘); 用in对字符串的处理

 select ename ,sal ,comm from emp where sal in(800,1500,2000);   用in对数字的处理,其实就是找相等的

7. select ename ,hiredate from emp;查出 Oracle中 date的表示方式  查询日期时 必须按照 格式书写。

 select sysdate from emp; 也可以查询出 日期的格式


select ename, sal ,hiredate from emp where hiredate>‘31-3月-80‘;查询雇佣时期 在 80年 3月31 以后的人的 名字 月薪 雇佣日期

8. select deptno , ename, sal from emp where deptno =10 or sal >1000;

9. select ename from emp where ename like ‘%ALL%‘; 模糊查询   % 代表多个字符  _代表一个字符

10. select enamel from emp where ename like ‘%$%%‘ escape ‘$‘ ; 查询 名字中含有 %的人名字; 自定义转义字符 用 escape ;

11. select ename, deptno from emp where sal >1000 order by deptno asc , ename desc; 

 order by 排序   :desc 降序 、asc 升序 默认为asc  ,子排序用 逗号 隔开。


12. select enmae, deptno, sal*12 annual_sal from emp where ename not like‘_A%‘ order by deptno desc ,ename;



function 

1. lower()   uper()

2.substr()   select substr(ename,2,3) from emp;  截取ename 从第二个字符开始  一共要截取三个字符

3. chr() 和ascii() select chr(97)from dual;//将ASCII码 97 转换成字符

 select ascii(‘a‘) form dual; 将a字符 转换成ascii码

4.round()  select round(23.56) from dual;    select round(23.56,-1) from dual;

5.to_char()对 数字 和 日期的格式转换

select  to_char(sal,‘$99,999.9999‘) from emp;//

select to_char(sal,‘L00,000.0000‘)from emp; L前面 的意思是 本地货币  0代表一位数字 该为数字没有用0补


select to_char(hiredate,‘YYYY-MM-DD HH:MI:SS‘) 显示为 1993-02-26 2:00:00

select to_char(hiredate,‘MM_DD_YYYY HH24:MI:SS‘) 显示为02_26_1993 14:00:00


6.select hiredate from emp

  where hiredate>to_date(‘1993-02-26 14:56:56‘,‘YYYY-MM-DD HH24:MI:SS‘);查询雇佣日期在什么之后时可以自己指定格式了

7. select sal from emp

  where sal>to_number(‘$1,500.00‘,‘$99,999.99‘);格式转换时  后面的描述格式 只能比前面的实例描述的多!

8. nvl(,)  : select ename,sal*12+nvl(comm,0)from emp; nvl(comm,0) comm中的值为空值的时候 用0代替 ,若不是空值 则还是comm本身


组函数: 有多条输入 有1条输出语句 

1. avg()  、 sum()、 count() 、min()、 max()  一共5个

select count(ename)from emp where deptno=10; 找出部门号为10的 部门 共有多少人


 select count(comm) from emp ; select count(*)from emp;区别count(comm)不会将空值 算一个  而count(*)空值也算一个单位


oracle_11g -1