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...