Oracle学习第一天

1.数据文件:就是orclae\product\10.2\oradata\orcl文件下面的DBF文件,表空间由多个数据文件组成


2.cmd连接数据库:sqlplus scott/tiger


3.将文件输入到d盘 spool d:\a.txt   清屏:host cls


4.显示用户:show user     当前用户下面的表:select * from tab;


5.设置行宽 :set sizeline 150 ,设置列宽:col ename for a8(---a代表字符串,9代表数字)    /:表示执行上一条sql语句


6.sql优化原则:

    a.尽量使用列名代替*

    b.where解析的顺序是:右->左

    c.尽量是用where 


7.SQL中的null

      a.包含null的表达式永远为空(使用orclae的虑空函数nvl(comm,0))

      b.null永远!=null(判断是否为空的时候使用IS NOT NULL)

      c.如果集合中含有null,不能使用 not in;但那是可以使用in


8.列的别名

   select ename as "员工名" ,ename "员工名",ename 员工名 from emp;


9.select distinct deptno,ename from emp;--作用于后面的所有的列


10.连接字符串concat函数和使用||


11.查询名字中有下划线的员工

    select * from emp where ename like '%\_%' escape '\'


11.orcale是自动开启事务的


12.orcale中,null是最大的


13.select * from emp order by comm desc nulls last


14.单行函数:

     substr(a,b)  从a中,第b位开始截取

     substr(a,b,c)从a中,第b位开始取,取c位


15.length:字符数   lengthb:字节数


16.trim(a,b)去掉前后指定的字符


17.replace(a,b.c)替换


18.rodund(a,b)  --四舍五入,可以使用日期


19.trunc  --截取,可以使用日期


20.orclae中 的date=日期+时间


21.显示当前的时间

    select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;


22.select (sysdate-1) 昨天 from dual;     两个日期相减返回天数


23.--隐身转换:select * from emp where deptno='10'   --真确


24.nvl2(a,b,c)  当a=null时候,f返回c,否则返回b


25.case if

       select ename,job,sal 涨前,case job when 'PRESIDENT' then sal+1000 end   涨后 from emp;

        select ename,job,sal 涨前,decolde(job,'PRESIDNENT',sal+1000,'MANGER',sal+800,sal+400)涨后 from emp;


26.分组函数,包含早group by自居中的列不必包含在select列表中,反之则必须


27.不能在where子句中使用组函数


28.group by 的增强:

 select deptno,job,sum(sal) from emp group by deptno,job
 +
select deptno,sum(sal) from emp group by deptno
 +
 select sum(sal) from emp
 =
 select deptno,job,sum(sal) from emp group by rollup(deptno,job);


29.break on deptno skip 2  --相同的部门号只显示一次,不能的部门号跳过两行



                                                                                                                                                                                                                                                                                         2016/2/7 11:53



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值