Microsoft Technologies JOINs (INNER, OUTER, LEFT, RIGHT) এর ব্যবহার গাইড ও নোট

486

SQL এ JOIN ব্যবহার করা হয় দুইটি বা তার বেশি টেবিলের মধ্যে সম্পর্ক স্থাপন এবং তাদের মধ্যে থাকা ডেটাকে একত্রিত করার জন্য। বিভিন্ন ধরনের JOIN ব্যবহৃত হয় পরিস্থিতি এবং ডেটার প্রক্রিয়া অনুসারে। এই JOIN গুলি বিভিন্নভাবে টেবিলগুলোকে একত্রিত করে এবং ফলস্বরূপ ডেটাকে নতুনভাবে উপস্থাপন করে।

SQL-এ সাধারণত চার ধরনের JOIN ব্যবহৃত হয়:

  1. INNER JOIN
  2. LEFT JOIN (বা LEFT OUTER JOIN)
  3. RIGHT JOIN (বা RIGHT OUTER JOIN)
  4. FULL OUTER JOIN

এগুলোর প্রত্যেকটি নির্দিষ্ট কন্ডিশনে কাজ করে এবং ভিন্নভাবে টেবিলগুলির ডেটা একত্রিত করে।


1. INNER JOIN

INNER JOIN টেবিলগুলির মধ্যে এমন রেকর্ডগুলিকে ফিরিয়ে আনে, যেখানে দুটি টেবিলের মধ্যে মিল (matching) পাওয়া যায়। যদি দুটি টেবিলের মধ্যে কোনো মিল না থাকে, তবে সেই রেকর্ডটি ফলস্বরূপ থেকে বাদ পড়বে।

ব্যবহার:

SELECT columns
FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name;
  • INNER JOIN দুটি টেবিলের শুধুমাত্র সেই রেকর্ডগুলো দেখাবে যেখানে দুটি টেবিলের মধ্যে সম্পর্ক বা মিল রয়েছে।
  • যদি table1 এবং table2 এর মধ্যে কোনো সম্পর্ক না থাকে, তবে কোনো ডেটা রিটার্ন হবে না।

উদাহরণ:

SELECT students.name, courses.course_name
FROM students
INNER JOIN course_enrollments
ON students.student_id = course_enrollments.student_id
INNER JOIN courses
ON course_enrollments.course_id = courses.course_id;

এখানে, INNER JOIN ব্যবহার করা হয়েছে তিনটি টেবিলের মধ্যে মিল থাকা রেকর্ডগুলো বের করার জন্য। যাদের কোর্সে নাম লেখানো রয়েছে, তাদের নাম এবং কোর্সের নাম আনা হয়েছে।


2. LEFT JOIN (বা LEFT OUTER JOIN)

LEFT JOIN (বা LEFT OUTER JOIN) মূল টেবিলের সমস্ত রেকর্ড এবং ডান টেবিলের সাথে সম্পর্কিত রেকর্ডগুলো ফিরিয়ে আনে। যদি ডান টেবিলের সাথে কোনো সম্পর্ক না থাকে, তবে সেই রেকর্ডগুলোর জন্য NULL দেখানো হবে।

ব্যবহার:

SELECT columns
FROM table1
LEFT JOIN table2
ON table1.column_name = table2.column_name;
  • LEFT JOIN টেবিল 1 এর সমস্ত রেকর্ড বের করে, এবং টেবিল 2 এর সাথে মিল পাওয়া রেকর্ডগুলিকে যোগ করে। যদি মিল না পাওয়া যায়, তবে NULL দেখানো হবে।

উদাহরণ:

SELECT employees.name, departments.department_name
FROM employees
LEFT JOIN departments
ON employees.department_id = departments.department_id;

এখানে, LEFT JOIN ব্যবহার করা হয়েছে যাতে সমস্ত employees এর নাম আসবে, এবং তাদের সংশ্লিষ্ট department এর নামও আসবে। যদি কোনো কর্মচারীর জন্য ডিপার্টমেন্ট না থাকে, তবে তার জন্য NULL দেখানো হবে।


3. RIGHT JOIN (বা RIGHT OUTER JOIN)

RIGHT JOIN (বা RIGHT OUTER JOIN) ডান টেবিলের সমস্ত রেকর্ড এবং বাম টেবিলের সাথে সম্পর্কিত রেকর্ডগুলো ফিরিয়ে আনে। যদি বাম টেবিলের সাথে কোনো সম্পর্ক না থাকে, তবে সেই রেকর্ডগুলোর জন্য NULL দেখানো হবে।

ব্যবহার:

SELECT columns
FROM table1
RIGHT JOIN table2
ON table1.column_name = table2.column_name;
  • RIGHT JOIN টেবিল 2 এর সমস্ত রেকর্ড বের করে, এবং টেবিল 1 এর সাথে মিল পাওয়া রেকর্ডগুলিকে যোগ করে। যদি মিল না পাওয়া যায়, তবে NULL দেখানো হবে।

উদাহরণ:

SELECT students.name, courses.course_name
FROM students
RIGHT JOIN course_enrollments
ON students.student_id = course_enrollments.student_id
RIGHT JOIN courses
ON course_enrollments.course_id = courses.course_id;

এখানে, RIGHT JOIN ব্যবহার করা হয়েছে যাতে সমস্ত courses এর নাম আসবে, এবং তাদের সাথে সম্পর্কিত students এর নামও আসবে। যদি কোনো কোর্সে ছাত্র না থাকে, তবে তার জন্য NULL দেখানো হবে।


4. FULL OUTER JOIN

FULL OUTER JOIN বাম এবং ডান টেবিলের সব রেকর্ডই রিটার্ন করে। যদি একটি টেবিলের সাথে অন্য টেবিলের মিল না থাকে, তবে NULL দেখানো হবে। এটি LEFT JOIN এবং RIGHT JOIN এর সংমিশ্রণ।

ব্যবহার:

SELECT columns
FROM table1
FULL OUTER JOIN table2
ON table1.column_name = table2.column_name;
  • FULL OUTER JOIN বাম এবং ডান উভয় টেবিলের সমস্ত রেকর্ড বের করে এবং মিল পাওয়া রেকর্ডগুলোর পাশাপাশি, যেসব রেকর্ডে মিল পাওয়া যায় না, তাদের জন্য NULL দেখায়।

উদাহরণ:

SELECT students.name, courses.course_name
FROM students
FULL OUTER JOIN course_enrollments
ON students.student_id = course_enrollments.student_id
FULL OUTER JOIN courses
ON course_enrollments.course_id = courses.course_id;

এখানে, FULL OUTER JOIN ব্যবহার করা হয়েছে যাতে students এবং courses এর মধ্যে সব রেকর্ড বের করা যায়, এমনকি যেসব ছাত্র বা কোর্সে মিল পাওয়া যায় না, তাদের জন্যও NULL দেখানো হবে।


সারাংশ

  • INNER JOIN: দুটি টেবিলের মধ্যে মিল থাকা রেকর্ডগুলি দেখায়।
  • LEFT JOIN: বাম টেবিলের সমস্ত রেকর্ড এবং ডান টেবিলের মিল থাকা রেকর্ড দেখায়। ডান টেবিলের সাথে মিল না থাকলে NULL দেখায়।
  • RIGHT JOIN: ডান টেবিলের সমস্ত রেকর্ড এবং বাম টেবিলের মিল থাকা রেকর্ড দেখায়। বাম টেবিলের সাথে মিল না থাকলে NULL দেখায়।
  • FULL OUTER JOIN: বাম এবং ডান উভয় টেবিলের সমস্ত রেকর্ড দেখায়। মিল না থাকলে NULL দেখায়।

এই JOIN গুলির ব্যবহার ডেটাবেসের সম্পর্কিত টেবিলগুলির মধ্যে বিভিন্ন পরিস্থিতিতে ডেটা একত্রিত এবং বিশ্লেষণ করতে সাহায্য করে।

Content added By
Promotion

Are you sure to start over?

Loading...