ORACLE笔记

发布 2021-05-11 22:10:28 阅读 2916

select ..from

where

start with

connect by prior ;

查询结果重起始根结点的限定条件。

连接条件。其中用prior表示上一条记录,比如 connect by prior id = root_id就是说上一条记录的id 是本条记录的,root_id即本记录的父亲(上一条记录)。

a) 获取完整树:

select * from t2 start with root_id = 0 connect by prior id = root_id;

b) 获取特定子树:

select * from t2 start with id = 1 connect by prior id = root_id;

select * from t2 start with id = 4 connect by prior id = root_id;

c) 如果connect by prior中的prior被省略,则查询将不进行深层递归。

如:select * from t2 start with root_id = 0 connect by id = root_id;

select * from t2 start with id = 1 connect by id = root_id;

case表达式可以在sql中实现if-then-else型的逻辑,而不必使用pl/sql。case的工作方式与decode()类似,但应该使用case,因为它与ansi兼容。

casesearch_expression

whenexpression1thenresult1

whenexpression2thenresult2

whenexpressionnthenresultn

elsedefault_result

enda) selectproduct_id,product_type_id,caseproduct_type_id

when1then'book'

when2then'video'

when3then'***'

when4then'cd'

else'magazine'

endfromproducts;

insert into t_aa10(aaz093, aaa100, aaa102, aaa103)

values(seq_ 'jlzt00', 3', 冲正成功');

其中seq_taa10即序列名,nextval指的是下一个值,currval表示当前值。

用于在目标字符串的左边填充指定的字符。

select lpad(termid, 20, ‘a’) from sst_terminal;

termid为目标字符串;

20为要得到查询结果字符串的长度;

a’表示若数据库中查出来的termid长度不足20,则在左边被’a’,直至长度满20。

rpad函数与lpad类似。

oracle笔记

1 查看表的结构 desc tabledescription 2 set timing on 打开操作表的时间记录。3 消除重复行 distinct 4 大小写不区分的是列名,而不是里面的数据。1 可以对某一列直接进行加减乘除。两列相加。2 如果有一列为null,所得结果也为空。使用nvl函数处理n...

Oracle笔记

第1页1.oracle 的使用 1.1.sqlplus 的命令 初始化表的位置 set nls lang american 设置编码才可以使用下面脚本 cd oracle home rdbms cd demo 我们目前使用的是oralce 9i 9201 版本 select from v versi...

oracle笔记

clear 清屏。col title for a20 设置title的字符最多有20个。oracle介绍。rdbsrdb 基本的存储结构是,二维表。表头。行。列。字段。sql的分类 dsl 关键字 select dml 操作 insert delete update ddl 定义 create dr...