物化路径和SQL查询交代

问题描述:

我读这篇文章关于拯救树木成数据库
http://www.dba-oracle.com/t_sql_patterns_trees.htm 但我不明白,比如这个
物化路径和SQL查询交代

select e1.ename from emp e1, emp e2 
where e1.path like e2.path || '%' 
and e2.ename = 'JONES' 

是什么意思是:e1.path like e2.path || '%'

我不明白在该查询中使用布尔运算符。我知道'%'是在.ttr表达式中的(。*)。它看起来像我:(e1.path == e2.path) or (e1.path == whateverIWant)。 THX的HLP。

%是SQL表达式中的通配符,因此它意味着e1.path应该以e2.path开头。因此

e1.pathe2.path一个孩子。

该查询检索员工JONES的所有下属。

+0

你的请求可以张贴一些链接,其中解释?我知道什么是“例如K%”,什么是通配符。但我不明白的是表达“喜欢的东西||(或?)‘%’ – Krab 2012-07-18 19:11:38

+0

的''||在数据库中常见的连接符(但不是MySQL的)所以,代替'e2.Path ||‘%’ ',做'CONCAT(e2.Path,'%')'。 – RedFilter 2012-07-18 19:16:53