RethinkDB 2.3 - innerJoin

ReQL कमांड: इनरजॉइन




rethinkdb

ReQL कमांड: इनरजॉइन

कमांड सिंटैक्स

sequence.innerJoin(otherSequence, predicate_function) → stream
array.innerJoin(otherSequence, predicate_function) → array

विवरण

दो अनुक्रमों में एक आंतरिक जुड़ाव देता है।

लौटा अनुक्रम बाएं-हाथ अनुक्रम और दाहिने हाथ अनुक्रम का एक प्रतिच्छेदन का प्रतिनिधित्व करता है: बाएं-हाथ अनुक्रम की प्रत्येक पंक्ति की तुलना उन सभी जोड़ी पंक्तियों को खोजने के लिए दाएं-हाथ अनुक्रम की प्रत्येक पंक्ति के साथ की जाएगी जो कि विधेय को संतुष्ट करती हैं। दोनों अनुक्रमों की पंक्तियों की प्रत्येक मिलान जोड़ी एक परिणाम पंक्ति में संयुक्त है। ज्यादातर मामलों में, आप बाएं और दाएं परिणामों को मिलाने के लिए zip साथ जुड़ना चाहेंगे।

ध्यान दें कि innerJoin है और concatMap साथ getAll या concatMap का उपयोग करने की तुलना में बहुत कम कुशल है। जब संभव हो तो आपको कमांड में innerJoin का उपयोग करने से बचना चाहिए।

उदाहरण: मार्वल और डीसी नायकों के बीच सभी मैचअप की सूची लौटाएं, जिसमें डीसी नायक मार्वल नायक को लड़ाई में हरा सकता है।

r.table("marvel").innerJoin(r.table("dc"),
    (marvel_row, dc_row) -> marvel_row.g("strength").lt(dc_row.g("strength"))
).zip().run(conn);

(इसकी तुलना एक समान इनपुट के साथ एक outerJoin से करें और भविष्यवाणी करें, जो किसी भी डीसी नायकों के साथ-साथ उच्च शक्ति वाले सभी मार्वल नायकों की सूची लौटाएगा।)

संबंधित आदेश

अधिक सहायता प्राप्त करें

आप जो खोज रहे थे, वह नहीं मिला?