Subqueries এবং Functions ব্যবহার

OrientDB এর SQL Syntax এবং Query - ওরিয়েন্টডিবি (OrientDB) - Database Tutorials

401

ওরিয়েন্টডিবি (OrientDB) একটি শক্তিশালী মাল্টি-মডেল ডেটাবেস সিস্টেম, যা SQL-সদৃশ কুয়েরি ভাষা ব্যবহার করে ডেটা ম্যানিপুলেট করতে সক্ষম। Subqueries এবং Functions এর মাধ্যমে আপনি আরো জটিল কুয়েরি তৈরি করতে পারেন এবং ডেটাবেসের কার্যক্ষমতা বৃদ্ধি করতে পারেন। এই দুটি বিষয়ই ডেটাবেস থেকে ডেটা নির্বাচন, প্রক্রিয়া এবং বিশ্লেষণ করার জন্য অত্যন্ত গুরুত্বপূর্ণ।


OrientDB তে Subqueries

Subqueries হল একটি কুয়েরি, যা অন্য একটি কুয়েরির ভিতরে ব্যবহার করা হয়। এটি মূল কুয়েরির জন্য একটি সহায়ক কুয়েরি হিসেবে কাজ করে এবং ডেটা নির্বাচন বা প্রক্রিয়া করার জন্য ব্যবহার করা যায়। OrientDB তে Subqueries ব্যবহার করে আপনি একাধিক টেবিল বা ক্লাসের মধ্যে সম্পর্কিত ডেটা সহজে প্রক্রিয়া করতে পারেন।

Subquery এর সাধারণ গঠন:

SELECT * FROM ClassName WHERE column IN (SELECT column FROM AnotherClass WHERE condition)

এখানে:

  • ClassName এবং AnotherClass হল ডেটাবেসের ক্লাস।
  • প্রথম কুয়েরি দ্বিতীয় কুয়েরির ফলাফল থেকে ডেটা নির্বাচন করবে।

১. Subquery উদাহরণ

ক. একই ক্লাসের মধ্যে Subquery

এখানে, Person ক্লাস থেকে এমন ব্যক্তিদের নাম নির্বাচন করা হচ্ছে, যাদের বয়স ৩০ এর বেশি, তবে বয়সের ভিত্তিতে এই নির্বাচনের জন্য Subquery ব্যবহার করা হচ্ছে।

SELECT name FROM Person WHERE age IN (SELECT age FROM Person WHERE age > 30)

এটি Person ক্লাস থেকে সেই ব্যক্তিদের নাম ফেরত দেবে, যাদের বয়স ৩০ এর বেশি।

খ. যত্নবান কুয়েরি

আপনি Subquery ব্যবহার করে একটি প্রধান কুয়েরি থেকে নির্বাচিত ডেটা নির্দিষ্ট করার জন্য আরও যত্নবান হতে পারেন।

SELECT * FROM Person WHERE name IN (SELECT name FROM Person WHERE age = 30)

এটি age = 30 এর ভিত্তিতে সকল name নির্বাচন করবে এবং সেই নামগুলির জন্য মূল কুয়েরিতে ডেটা আনবে।

২. Subqueries with EXISTS

আপনি Subquery এর সাথে EXISTS ব্যবহার করতে পারেন, যেখানে সাবকুয়েরি শুধুমাত্র সত্য হলে মূল কুয়েরি রান হবে।

SELECT name FROM Person WHERE EXISTS (SELECT * FROM Transaction WHERE amount > 1000)

এটি Transaction ক্লাসে এমন সব লেনদেন সনাক্ত করবে, যেগুলোর পরিমাণ ১০০০ এর বেশি এবং তারপরে Person ক্লাস থেকে সংশ্লিষ্ট নাম নির্বাচন করবে।


OrientDB তে Functions ব্যবহার

Functions হল পূর্বনির্ধারিত প্রোগ্রাম যেগুলি আপনাকে কুয়েরি চালানোর সময় বিশেষ ধরনের প্রক্রিয়া সম্পাদন করতে সাহায্য করে। OrientDB তে অনেক ধরনের ফাংশন রয়েছে যা ডেটা সিলেকশন, রূপান্তর, ফিল্টারিং এবং গ্রুপিং করতে সাহায্য করে। এই ফাংশনগুলি আপনাকে বিভিন্ন ধরনের ডেটা অপারেশন পরিচালনা করার জন্য সাহায্য করে।

১. অ্যাগ্রিগেট ফাংশন (Aggregate Functions)

অ্যাগ্রিগেট ফাংশনগুলি একাধিক রেকর্ডের ওপর গণনা করে একটি একক মান প্রদান করে। সাধারণ অ্যাগ্রিগেট ফাংশনগুলো হলো: COUNT, SUM, AVG, MAX, MIN

উদাহরণ: COUNT ফাংশন

SELECT COUNT(*) FROM Person WHERE age > 30

এটি Person ক্লাস থেকে সেই সকল রেকর্ডের সংখ্যা ফিরিয়ে দেবে, যাদের বয়স ৩০ এর বেশি।

উদাহরণ: SUM ফাংশন

SELECT SUM(amount) FROM Transaction WHERE type = 'Purchase'

এটি Transaction ক্লাস থেকে সকল Purchase টাইপের লেনদেনের পরিমাণ যোগফল প্রদান করবে।

২. ট্রান্সফরমেশন ফাংশন (Transformation Functions)

ওরিয়েন্টডিবি বিভিন্ন ডেটা ট্রান্সফরমেশন ফাংশনও সরবরাহ করে, যেমন UPPER, LOWER, SUBSTRING, CONCAT ইত্যাদি।

উদাহরণ: UPPER ফাংশন

SELECT UPPER(name) FROM Person

এটি Person ক্লাসের name প্রপার্টির সকল মানকে বড় হাতের অক্ষরে রূপান্তর করবে।

উদাহরণ: CONCAT ফাংশন

SELECT CONCAT(name, ' ', surname) AS full_name FROM Person

এটি Person ক্লাসের name এবং surname প্রপার্টিকে একত্রিত করে একটি নতুন ফিল্ড full_name তৈরি করবে।

৩. কন্ডিশনাল ফাংশন (Conditional Functions)

কন্ডিশনাল ফাংশন ব্যবহার করে আপনি নির্দিষ্ট শর্তে ডেটা প্রক্রিয়া করতে পারেন। যেমন, IF, CASE ইত্যাদি।

উদাহরণ: IF ফাংশন

SELECT name, IF(age > 18, 'Adult', 'Minor') AS age_group FROM Person

এটি Person ক্লাস থেকে name এবং বয়স অনুযায়ী age_group তৈরি করবে, যেখানে ১৮ এর বেশি বয়স হলে Adult এবং কম হলে Minor প্রদর্শিত হবে।

৪. ডেটা টাইপ কনভার্সন ফাংশন

ওরিয়েন্টডিবি ডেটা টাইপ কনভার্সনের জন্য বিভিন্ন ফাংশন প্রদান করে, যেমন TOSTRING, TOINT, TOFLOAT ইত্যাদি।

উদাহরণ: TOINT ফাংশন

SELECT TOINT(age) FROM Person

এটি Person ক্লাসের age প্রপার্টি থেকে ডেটা ইনপুট হিসেবে গ্রহণ করে তা পূর্ণসংখ্যায় রূপান্তর করবে।


৫. বিশেষ ফাংশন (Special Functions)

ক. UUID ফাংশন

SELECT UUID() FROM Person

এটি একটি ইউনিক ইউইউআইডি (UUID) জেনারেট করবে।

খ. NOW ফাংশন

SELECT NOW() FROM Person

এটি বর্তমান সময় এবং তারিখ রিটার্ন করবে।


সারাংশ

Subqueries এবং Functions ওরিয়েন্টডিবি তে জটিল কুয়েরি তৈরি এবং কার্যকর ডেটাবেস ম্যানিপুলেশন প্রক্রিয়া সহজ করে তোলে। Subqueries ব্যবহার করে আপনি একটি কুয়েরির ভিতরে অন্য কুয়েরি যুক্ত করে ডেটা প্রক্রিয়া করতে পারেন, এবং Functions ব্যবহার করে আপনি ডেটা ট্রান্সফরমেশন, অ্যাগ্রিগেশন এবং কন্ডিশনাল অপারেশন করতে পারেন। এই দুটি বৈশিষ্ট্য একত্রে ব্যবহার করে আপনি ডেটাবেস থেকে জটিল ডেটা বিশ্লেষণ, ফিল্টারিং এবং প্রক্রিয়াকরণ করতে সক্ষম হন।

Content added By
Promotion

Are you sure to start over?

Loading...