2012-07-18 94 views
0

我讀這篇文章關於拯救樹木成數據庫
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。

回答

2

%是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