[SQL]007学习笔记总结
between…and… 包含两头,必须把lower limit定义在前,否则不会报错但选不出结果。字符串作为边界值也可。使用Escape可设置一个escape character,用于在字符串中充当转义符。Where job_id like ‘%SA_%’ ESCAPE ‘’;to_date函数中Format_model中的fx前缀:保证必须精确匹配。连接种类OracleEquijoinwhere table1.column1=table2.column2NonequijoinOuter joinwhere table1.column(+)=table2.columnSelf joinSQL1999Cross joinssame with Cartesian product FROM table1 CROSS JOIN table2Natural joinsFROM table1 NATURAL JOIN tabl
[SQL]oracle 绑定变量(bind variable)[转载]
在oracle 中,对于一个提交的sql语句,存在两种可选的解析过程, 一种叫做硬解析,一种叫做软解析.一个硬解析需要经解析,制定执行路径,优化访问计划等许多的步骤.硬解释不仅仅耗费大量的cpu,更重要的是会占据重要的们闩(latch)资源,严重的影响系统的规模的扩大(即限制了系统的并发行), 而且引起的问题不能通过增加内存条和cpu的数量来解决。之所以这样是因为门闩是为了顺序访问以及修改一些内存区域而设置的,这些内存区域是不能被同时修改。当一个sql语句提交后,oracle会首先检查一下共享缓冲池(shared pool)里有没有与之完全相同
[SQL]学习007有感
上周花了一个礼拜的时间仔细读了007的三本SG,做完了上面所有的实验,感觉收获颇丰。虽然大多是一些很简单的内容,很多东西我以前也知道,但是仔细读过以后,还是感觉自己长进了不少,对于很多知识的了解上升到了一个理论的层次,心里就觉得特别爽。虽然我的工作是维护型DBA,但像SQL、PL/SQL这种最基础的东西,没有系统学习过心里还真没底。现在我的感觉好多了。另外,说一下我对SG和document的学习体会。因为之前硬是把10g document中的performence tuning guide啃了下来,但整整花了两个月的时间,等到后面看完的时候,前面看了些什么早
[SQL]关于Concatenated Groupings的问题[转载]
关于Concatenated Groupings的问题SELECT department_id, job_id, manager_id, SUM(salary)FROM employeesGROUP BY department_id,ROLLUP(job_id),CUBE(manager_id);The example in the slide results in the following groupings:• (department_id, manager_id, job_id )• (department_id, manager_id)• (department_id, job_id)• (department_id)解释:首先看看SG上面的例子,GROPU BY GROUPING SETS(a,b),GROPUING SETS(c,d)等价于:GROUP BY (a,c)UNIONGROUP BY (a,D)UNIONGROUP BY (b,c)UNIONGROUP BY (b,d)