oracle
cathy_2007
这个作者很懒,什么都没留下…
展开
-
oracle 学习笔记1:数据库概述
数据库概述 oracle的物理结构有5种文件,参数文件告诉你控制文件在那里,控制文件告诉你数据文件,临时文件和重做日志文件在那里。 它的逻辑结构有:数据块,区,段,表空间。其中块是最小的存储单位,比如一个表的数据,一个索引。区是相连的内存,用于存储特定信息。段是一系列分配给表,索引,会话的区。 它的服务器模式分为3种,其中专用服务器模式适用于事务原创 2008-11-05 12:52:00 · 378 阅读 · 0 评论 -
查找系统表
Listing Tables in a SchemaProblemYou want to see a list all the tables youve created in a given schema.SolutionThe solutions that follow all assume you are working with the SMEAGOL schema.原创 2009-09-04 11:44:00 · 364 阅读 · 0 评论 -
创建一个相同的表
DB2Use the LIKE clause with the CREATE TABLE command: create table dept_2 like deptOracle, MySQL, and PostgreSQLUse the CREATE TABLE command with a subquery that returns no rows: 1 creat原创 2009-09-02 09:44:00 · 986 阅读 · 0 评论 -
sql 查询多个表
直接黏贴sql cook book上的资料:1 select ename as ename_and_dname, deptno2 from emp3 where deptno = 104 union all5 select ----------, null6 from t17 union all8 select dname, deptno9 from d原创 2009-08-20 15:08:00 · 410 阅读 · 0 评论 -
查询所有用户自定义函数
select * from user_objects where object_type=FUNCTION;原创 2009-08-18 09:20:00 · 718 阅读 · 0 评论 -
null值转换为真正的值
我们经常会遇到这种情况,数据库里面是Null值,但是显示出来的内容可能是其他内容,这种情况怎么写sql呢? 有2种,一种用自带的函数,一种用case语句。 select coalesce(comm,0) from emp select case when comm is null then 0 else comm原创 2009-08-20 09:31:00 · 593 阅读 · 0 评论 -
查询语句select的解析顺序
select name username,age from emp where username like %wang% 上面这句话对吗? 实际上上面这句话执行不通,为什么呢? 因为解析的时候,是先执行from语句,再执行where语句,最后才执行select语句。如果想在where想用别名,可以这样写: select * from (select name原创 2009-08-19 16:34:00 · 371 阅读 · 0 评论 -
限制得到的条数
显示查询结果的一部分,各个数据库写法是不一样的.DB2 select * from emp fetch first 5 rows only mysql和postgreSqlselect * from emp limit 5 oracle:select * from emp where rownum>=5 sqlserver: select to原创 2009-08-19 15:23:00 · 867 阅读 · 0 评论 -
sql语句中用条件逻辑判断
有这样一个表 user(id,name,salary),要查找的结果是如果工资低于2000则显示underpaid,高于4000则显示overpaid,在2者之间显示ok.1 select * from user 结果:id name salary 1 jack 2000 2 tony原创 2009-08-19 14:54:00 · 6915 阅读 · 0 评论 -
左外连接和decode函数
问题,一个用户表user(id,name,course,state),一个课程表course(id,name),其中用户表的state存储的是数字:1表示正常,2表示变更,3表示不存在;一个用户只能选择一门课程,一门课程可以有多名用户选择 需要查询出所有用户的姓名,课程名,和状态。 查询sql语句: select u.name,c.name,decode(state,1原创 2009-04-28 13:36:00 · 751 阅读 · 0 评论 -
sql查询字段连接
我有一个需求是把2个字段拼接成一个字段,如 user(user_id,user_code,user_name) 查询结果是:[user_code] user_name 在写sql语句时用连接符:select [||user_code||]|| ||user_name codeName from user 上面这种写法是oracle,DB2,Post原创 2009-04-27 13:30:00 · 3330 阅读 · 1 评论 -
oracle学习笔记4:性能调优
一 oracle的锁分为2种:悲观锁定和乐观锁定。其中悲观锁定一般用在C/S结构,要一直保持通话。乐观锁定有3种方式实现。1 加伪列,SCN列。a 查询的时候查出scn值,select scnb update的时候判断scn的值是否与查询的值相同,update where scn=c update后scn改变2 校验和数据库设计的时候多加一个字段,每一次执行语句散原创 2008-11-10 13:02:00 · 577 阅读 · 0 评论 -
oracle学习笔记3:日历实现
简单的实现当月的日历,用decode函数: select max(decode(to_char(s.day1,d),2,s.day1,null)) mon, max(decode(to_char(s.day1,d),3,s.day1,null)) tur,max(decode(to_char(s.day1,d),4,s.day1,null)原创 2008-11-10 11:35:00 · 505 阅读 · 0 评论 -
数据库索引
11.3 B-树索引<br />尽管Oracle中所有的索引都使用B-树结构,但是B-树索引这一术语通常是指如图11-1所示的索引。<br /> <br />图11-1<br /> <br /> <br /> <br />根据图11-1所示:索引的顶端是根结点,这一结点中包含的是存有指向索引中下一级指针的项。接下来是分枝结点(块),分枝结点中的记录(项)存的是指向下一级(块)的指针。最底层为叶子结点。在叶子结点存有指向表中数据行的索引项。叶子结点被双向链表链在一起以方便按索引关键字的升序或降序扫描。<br转载 2011-02-14 11:22:00 · 581 阅读 · 0 评论