clojure中的内部连接

clojure中的内部连接,clojure,Clojure,假设我有 (def test-left [{:name "Sean" :age 27} {:name "Ross" :age 27} {:name "Brian" :age 22}]) 及 当我执行(clojure.set/join test left test right)时,我得到一个笛卡尔积。12排。我想要的是:

假设我有

(def test-left 
                            [{:name "Sean" :age 27} 
                             {:name "Ross" :age 27} 
                             {:name "Brian" :age 22}])

当我执行
(clojure.set/join test left test right)
时,我得到一个笛卡尔积。12排。我想要的是:name of left=:owner of right上的内部联接,这样我只得到那些在右侧有匹配行的结果

所以我明白了

              [{:name "Sean" :age 27  :item “Beer” } 
               {:name "Sean" :age 27  :item “Pizza” }
               {:name "Ross" :age 27  :item “Computer”}]
任何想法。同样地,我们希望实现左外连接和右外连接,但这是一个分离的问题。我正在学习clojure,所以请耐心听我说

明白了。我的错

1:24 main-hta=> (clojure.set/join test-left test-right {:name :owner})
得到

1:24 main-hta=> (clojure.set/join test-left test-right {:name :owner})
#{{:item "Pizza", :owner "Sean", :name "Sean", :age 27} {:item "Beer", :owner "Sean", :name "Sean", :age 27} {:item "Computer", :owner "Ross", :name "Ross", :ag
e 27}}