oracle 培训笔记[3]

在输入sqlplus / assysdba时,自动链接上的数据库不一定是本机的数据库,而是系统环境变量中ORACLE_SID所指定的变量,安装ORACLE后,会默认将windows下的这个环境变量设置成你新建的这个SID

 

         Archiveloglist可以显示出当前数据库的归档模式

 

         如果要长期的修改sql_prompt的值需要到{oracle_home}/sqlplus/admin/glogin.sql文件中修改

 

         SQL语句中,NULL值不参与统计

 

         Oracle单双引号的区别:单引号为字符串,双引号表示名称(可用于区别字段的大小写),根据双引号的内容是什么,select等操作的结果就显示什么,主要用于表和字段展现的别名

 

         Distinct= unique (说实话,我还真是不知道)

 

         SQL与sqlplus命令中,SQL的关键字无法所写,sqlplus可以,只要不出现与其他命令冲突,SQL语句必须以”;”结尾,而sqlplus直接回车即可执行.

 

         Sqlplus中修改缓存语句后,执行RUN命令即可直接执行,使用list命令可以查看缓存中的语句

 

         Sqlplus中SQL>@1.sql 的效果与  SQL>start 1.sql的效果是一样的,如果使用SQL>get1.sql命令,那仅仅是把1.sql脚本中的语句调入缓存,并不执行.使用”/”或者run命令执行语句.

 

         目前排序不是根据每个会话都申请一块单独的缓存区域作为排序缓冲区了,而是在ORACLE中直接划出一块总的区域作为排序的缓冲区的.每个会话大小的排序区域参数为sort_area_size,总的区域参数为sort_area_retained_size,其中至于哪个生效,则要看参数workarea_size_policy,如果该参数的值是AUTO,则第二个生效.

 

         SQL中,出现BETWEEN…AND…中两个值包括临界值.另外,ORACLE中,rownum是不能使用BETWEEN...AND…标示符的,这个在ZTE的面试笔试题中出现过这样的陷阱,虽然是细节,但是要注意.

 

         根据WHERE语句的效率问题也是我们关注的重点,目前我所知道的性能效率是 EXSIT > IN > OR ,这样的执行效率,在以后的SQL撰写中,需要注意.

 

         LIKE语句在报表中时常遇到,有时候会出现需要匹配 “_”和”%”的情况,这个时候是不是很痛苦,那么ESCAPE就登场了,示例:

SELECT * FROM TABLE_NAME WHERE COLUMN1 LIKE‘$%’ ESCAPE ‘$’;

此时,$符号就变成了转义符号,如果出现两个”_”的情况,则需要写成LIKE ‘$_$_%’ ESCAPE ‘$’;最后一个%则是通配符的含义.

 

         所有的ORACLE的表都heaptabel(堆表),数据均是无序排放的.在ORDER BY 子句后面,添加数字,表示排序的列,如果使用的明确列的查询SQL,那么,排序子句后的数字则为写出的字段的顺序,从1开始,如果是select * from table_name order by 1;那么这个1就表示是Table里面第一个字段的作为排序的参照.

 

         单行函数的含义:针对每一行的数据都会返回一个值

         多行函数的含义:即为多行汇总返回一个值

 

         INSTR是很常见的函数,但是出现了INSTR(a,b,c,d)这样四个参数的函数让人感到很惊讶.实话,我当时听说功能这么强大,我真后悔当初在湖南写湖南移动统计报表的时候,没有好好的学习函数.该函数a表示原始字符串,b表示需要查找的字符串,c表示开始的位数,d表示第几次出现.ORACLE的函数是很强大的,需要做一个专题来学习.

 

         关于经典的自关联scott下的emp表中的empno和mgrno,以下是一个经典SQL:

SELECT LPAD(‘  ‘,2*(LEVEL-1))|| ENAME as ENAME

FROM EMP

CONNECT BY PRIOR EMPNO = MGRNO

START WITH ENAME=’KING’;

Start with,这个很好理解,是从哪一个字符内容开始,connectby如何理解,这是关键,老师给出了一个很好理解的办法,首先,我们确定谁是父键,按照表emp的结构,mgrno是来源于empno,所以empno是父键,mgrno作为子键,PRIOR 后面跟父键,则表示,从树形的顶端往枝节点,如果PRIOR后面跟随子键,则表示是从叶子节点追述到根节点,展示出查询的过程.

 

         关于日期的格式问题,出现的有中文,英文的情况,这是由于nls参数控制的,设置nls_language,

 

关于to_char(sal,’L0,999.99’)sal from EMP L表示本地货币,如何修改本地的所属,查看参数NLS_TERRITORY

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值