我正在用OrientDb與示例車輛歷史數據庫進行試驗,並且執行了這兩個SQL查詢,我認爲它們是相同的。我試圖找到所有向一名男性出售車輛的女性。選擇和遍歷的不同結果?
SELECT expand(out('Bought').in('Sold')[gender="Female"]) FROM Person
WHERE gender = "Male" LIMIT = -1
此人返回124條記錄。
雖然
SELECT FROM (TRAVERSE in('Sold') FROM (
SELECT FROM (TRAVERSE out('Bought') FROM (
SELECT FROM Person WHERE gender = "Male")
) WHERE @class = "Transaction"))
WHERE @class = "Person" and gender = "Female" LIMIT = -1
返回117條記錄。
我希望有人能向我解釋有什麼不同?
TRAVERSE沒有WHILE任何條件沒有得到一個級別。但我需要你的分貝來玩。有機會在任何地方在網上發佈它? – Lvca 2015-02-24 18:06:47
@Lvca它是公共'VehicleHistoryGraph' db – codemix 2015-02-24 20:24:42