Oracle兼容之层次查询:层次查询高级特性分析
2008-09-04 12:50:44 来源:WEB开发网核心提示: 首先需要说明一下逻辑表达树的结构,逻辑表达式可以转化为一个树结构,Oracle兼容之层次查询:层次查询高级特性分析(10),例如(a=b or b=1)and c=d and d=1这样的逻辑表达式,它转化之后的逻辑表达树应如图6所示,对于上面的逻辑表达式,我们可以试着分析当其在层次查询的
首先需要说明一下逻辑表达树的结构,逻辑表达式可以转化为一个树结构,例如(a=b or b=1)and c=d and d=1这样的逻辑表达式,它转化之后的逻辑表达树应如图6所示。
之后就可以根据简单情况下的策略来决定各个分支的策略。我们根据得到的标准分析这个逻辑表达式(假设a、b属于不同的表,c、d属于不同的表)如图7所示。
虚线:类型1布尔表达式 A类型子句
实线:类型2布尔表达式 B类型子句
可以根据得到的4条标准删除表达式中不需要作为过滤条件的单个逻辑表达式构成一个新的逻辑表达式,再对其进行一定的调整得到作为connect by查询之后的过滤条件的新的逻辑表达式。同样的,删除不能作为连接条件的单个逻辑表达式,调整之后得到新的作为连接条件的逻辑表达式。
对于上面的逻辑表达式,我们可以试着分析当其在层次查询的WHERE语句出现时的处理方式。删除一定的单个逻辑表达式之后,作为过滤条件的逻辑表达式的结构如图8所示:
调整之后
调整之前
而作为连接条件的逻辑表达式的结构如图9所示:
- ››oracle 中 UPDATE nowait 的使用方法
- ››Oracle ORA-12560解决方法
- ››Oracle 10g RAC 常用维护命令
- ››Oracle如何在ASM中定位文件的分布
- ››Oracle的DBMS_RANDOM.STRING 的用法
- ››oracle 外部表导入时间日期类型数据,多字段导入
- ››Oracle中查找重复记录
- ››oracle修改用户登录密码
- ››Oracle创建删除用户、角色、表空间、导入导出等命...
- ››Oracle中登陆时报ORA-28000: the account is lock...
- ››Oracle数据库在配置文件中更改最大连接数
- ››Oracle中在pl/sql developer修改表的两种方式
更多精彩
赞助商链接