Subqueries এবং Complex Queries হলো ArangoDB-এর শক্তিশালী কোয়েরি ফিচার, যা জটিল ডেটা বিশ্লেষণ এবং প্রসেসিংকে সহজ করে। Subquery একটি কোয়েরির মধ্যে আরেকটি কোয়েরি হিসেবে কাজ করে এবং Complex Query বিভিন্ন ডেটাসেট এবং শর্তের ভিত্তিতে উন্নত বিশ্লেষণ করতে সাহায্য করে।
Subquery হল একটি কোয়েরি যা অন্য একটি কোয়েরির মধ্যে নেস্ট করা থাকে। এটি মূলত কোয়েরির একটি অংশ হিসেবে কাজ করে এবং একটি নির্দিষ্ট ফলাফল প্রদান করে, যা পরে প্রধান কোয়েরিতে ব্যবহার করা হয়।
FOR user IN Users
LET posts = (
FOR post IN Posts
FILTER post.author == user._key
RETURN post
)
RETURN { user: user, posts: posts }
এখানে:
Users
থেকে ব্যবহারকারীদের তথ্য আনছে।Posts
থেকে প্রতিটি ব্যবহারকারীর পোস্ট সংগ্রহ করছে।FOR category IN Categories
LET products = (
FOR product IN Products
FILTER product.category == category._key
RETURN product.name
)
RETURN { category: category.name, products: products }
এটি প্রতিটি ক্যাটাগরির সাথে সংশ্লিষ্ট পণ্যের নামগুলো রিটার্ন করে।
Complex Query বিভিন্ন শর্ত, Subqueries, Joins এবং Aggregations ব্যবহার করে আরও জটিল ডেটা বিশ্লেষণের জন্য ব্যবহৃত হয়। এটি একাধিক ডেটাসেট এবং Nested Data নিয়ে কাজ করে।
FOR order IN Orders
FILTER order.status == "delivered" AND order.amount > 100
COLLECT customer = order.customer INTO ordersGrouped
RETURN { customer: customer, totalOrders: LENGTH(ordersGrouped) }
এখানে:
delivered
স্ট্যাটাস এবং amount > 100
এর জন্য ফিল্টার।FOR user IN Users
LET totalSpent = SUM(
FOR order IN Orders
FILTER order.customer == user._key
RETURN order.amount
)
RETURN { user: user.name, totalSpent: totalSpent }
এখানে:
FOR user IN Users
LET friends = (
FOR friend IN Friends
FILTER friend.user == user._key
RETURN friend
)
LET posts = (
FOR post IN Posts
FILTER post.author == user._key
RETURN post
)
RETURN { user: user.name, friends: friends, posts: posts }
এটি প্রতিটি ব্যবহারকারীর নাম, তার বন্ধুদের তালিকা এবং তার পোস্টগুলো রিটার্ন করে।
Subqueries এবং Complex Queries ArangoDB-এর একটি অত্যন্ত শক্তিশালী ফিচার, যা জটিল এবং সম্পর্কিত ডেটা বিশ্লেষণ সহজ করে। Nested কোয়েরি, Aggregations, এবং Joins ব্যবহার করে বড় এবং জটিল ডেটাবেস থেকে কার্যকর ফলাফল পাওয়া যায়। এটি ডেটা মডেলিং এবং ডেটা ট্রান্সফর্মেশনের জন্য একটি অপরিহার্য হাতিয়ার।
common.read_more