মারিয়া ডিবি (MariaDB) একটি রিলেশনাল ডেটাবেস ম্যানেজমেন্ট সিস্টেম (RDBMS) যেখানে ডেটা সন্নিবেশ করতে ও বিশ্লেষণ করতে SQL ব্যবহার করা হয়। JOIN কুয়েরি SQL-এ একটি গুরুত্বপূর্ণ অংশ, যা একাধিক টেবিল থেকে ডেটা একত্রিত করতে সহায়তা করে। JOIN-এর বিভিন্ন ধরনের কুয়েরি রয়েছে, যেমন INNER JOIN, LEFT JOIN, RIGHT JOIN, এবং FULL OUTER JOIN, যা ডেটা একত্রিত করার জন্য বিভিন্ন পদ্ধতি ব্যবহার করে।
INNER JOIN কুয়েরি
INNER JOIN একটি সাধারণ JOIN অপারেটর, যা দুটি টেবিলের মধ্যে মিল থাকা রেকর্ডগুলোই নির্বাচন করে। যদি কোন টেবিলের রেকর্ড অন্য টেবিলের সাথে মেলে না, তবে সেই রেকর্ডগুলো অন্তর্ভুক্ত হয় না।
উদাহরণ:
SELECT employees.name, departments.department_name
FROM employees
INNER JOIN departments
ON employees.department_id = departments.department_id;
এই কুয়েরিতে, employees এবং departments টেবিল থেকে শুধুমাত্র সেই রেকর্ডগুলো নির্বাচন করা হবে, যেগুলোর মধ্যে department_id মিলছে।
LEFT JOIN কুয়েরি
LEFT JOIN, যাকে LEFT OUTER JOIN বলা হয়, এটি বামপাশের (LEFT) টেবিলের সমস্ত রেকর্ডকে নির্বাচন করে এবং ডানপাশের (RIGHT) টেবিলের সাথে মিল থাকলে সেটি যুক্ত করে। যদি ডানপাশের টেবিলে মিল না পাওয়া যায়, তবে সেখানে NULL দেখানো হবে।
উদাহরণ:
SELECT employees.name, departments.department_name
FROM employees
LEFT JOIN departments
ON employees.department_id = departments.department_id;
এখানে, employees টেবিলের সমস্ত রেকর্ড প্রদর্শিত হবে, এবং যেখানে department_id মিল নেই, সেখানে department_name কলামে NULL দেখানো হবে।
RIGHT JOIN কুয়েরি
RIGHT JOIN, যাকে RIGHT OUTER JOIN বলা হয়, এটি ডানপাশের (RIGHT) টেবিলের সমস্ত রেকর্ডকে নির্বাচন করে এবং বামপাশের (LEFT) টেবিলের সাথে মিল থাকলে সেটি যুক্ত করে। যদি বামপাশের টেবিলে মিল না পাওয়া যায়, তবে সেখানে NULL দেখানো হবে।
উদাহরণ:
SELECT employees.name, departments.department_name
FROM employees
RIGHT JOIN departments
ON employees.department_id = departments.department_id;
এই কুয়েরিতে, departments টেবিলের সমস্ত রেকর্ড দেখানো হবে, এবং যেখানে department_id মিল নেই, সেখানে name কলামে NULL প্রদর্শিত হবে।
FULL OUTER JOIN কুয়েরি
FULL OUTER JOIN দুটি টেবিলের সমস্ত রেকর্ড নির্বাচন করে, যাতে কোনো টেবিলের রেকর্ড অন্য টেবিলের সাথে না মেললেও তা অন্তর্ভুক্ত হবে। এই JOIN-এর মাধ্যমে, যেসব রেকর্ড অন্য টেবিলে পাওয়া যায়নি, সেগুলোর ক্ষেত্রে NULL দেখানো হবে।
মারিয়া ডিবিতে সরাসরি FULL OUTER JOIN সমর্থিত না হলেও, আপনি LEFT JOIN এবং RIGHT JOIN মিশ্রিত করে FULL OUTER JOIN-এর মতো ফলাফল পেতে পারেন।
উদাহরণ:
SELECT employees.name, departments.department_name
FROM employees
LEFT JOIN departments
ON employees.department_id = departments.department_id
UNION
SELECT employees.name, departments.department_name
FROM employees
RIGHT JOIN departments
ON employees.department_id = departments.department_id;
এই কুয়েরি দুটি অংশে ভাগ করা হয়েছে: এক অংশে LEFT JOIN এবং অন্য অংশে RIGHT JOIN ব্যবহার করা হয়েছে, এবং তারপর UNION দিয়ে ফলাফল একত্রিত করা হয়েছে। এর ফলে FULL OUTER JOIN-এর ফলাফল পাওয়া যাবে।
সারাংশ
মারিয়া ডিবি (MariaDB)-তে JOIN কুয়েরির মাধ্যমে একাধিক টেবিলের ডেটা একত্রিত করা সম্ভব। INNER JOIN, LEFT JOIN, RIGHT JOIN এবং FULL OUTER JOIN-এর মাধ্যমে আপনি বিভিন্ন ধরনের রিলেশন এবং মিল থাকা রেকর্ডগুলোকে সঠিকভাবে ম্যানেজ করতে পারেন।
Read more