Database Tutorials JOIN (INNER, LEFT, RIGHT, FULL OUTER) কুয়েরি গাইড ও নোট

317

JOIN কুয়েরি দুটি বা তার বেশি টেবিলের মধ্যে সম্পর্ক স্থাপন করে, এবং একসাথে ডেটা নিয়ে আসে। MySQL-এ চারটি প্রধান JOIN অপারেটর রয়েছে: INNER JOIN, LEFT JOIN, RIGHT JOIN, এবং FULL OUTER JOIN। এগুলির প্রত্যেকটি বিভিন্নভাবে টেবিলের মধ্যে সম্পর্ক তৈরি করে এবং বিভিন্ন ধরনের ফলাফল রিটার্ন করে।


1. INNER JOIN

INNER JOIN দুটি টেবিলের মধ্যে মিল থাকা রেকর্ডগুলিকে নির্বাচন করে। অর্থাৎ, যদি দুটি টেবিলের মধ্যে কোনো মিল না থাকে, তবে কোনো রেকর্ড রিটার্ন হয় না।

সyntax:

SELECT column1, column2
FROM table1
INNER JOIN table2
ON table1.column = table2.column;

উদাহরণ:

ধরা যাক, আমাদের দুটি টেবিল রয়েছে: orders এবং customers

SELECT orders.order_id, customers.customer_name
FROM orders
INNER JOIN customers ON orders.customer_id = customers.customer_id;

এটি orders এবং customers টেবিলের মধ্যে সম্পর্ক স্থাপন করবে এবং যেখানে মিল আছে, সেখানে order_id এবং customer_name রিটার্ন করবে।


2. LEFT JOIN (LEFT OUTER JOIN)

LEFT JOIN বা LEFT OUTER JOIN প্রথম টেবিলের সব রেকর্ড এবং দ্বিতীয় টেবিলের মিল পাওয়া রেকর্ডগুলো রিটার্ন করে। যদি দ্বিতীয় টেবিলে মিল না থাকে, তবে প্রথম টেবিলের রেকর্ড থাকবে এবং দ্বিতীয় টেবিলের কলামগুলো NULL হয়ে যাবে।

সyntax:

SELECT column1, column2
FROM table1
LEFT JOIN table2
ON table1.column = table2.column;

উদাহরণ:

SELECT customers.customer_name, orders.order_id
FROM customers
LEFT JOIN orders ON customers.customer_id = orders.customer_id;

এটি customers টেবিলের সব রেকর্ড দেখাবে, এবং orders টেবিলের রেকর্ড মিল পাওয়া গেলে সেগুলিও দেখাবে। যাদের কোনো মিল পাওয়া যাবে না, তাদের জন্য order_id হবে NULL


3. RIGHT JOIN (RIGHT OUTER JOIN)

RIGHT JOIN বা RIGHT OUTER JOIN দ্বিতীয় টেবিলের সব রেকর্ড এবং প্রথম টেবিলের মিল পাওয়া রেকর্ডগুলো রিটার্ন করে। যদি প্রথম টেবিলে মিল না থাকে, তবে দ্বিতীয় টেবিলের রেকর্ড থাকবে এবং প্রথম টেবিলের কলামগুলো NULL হয়ে যাবে।

সyntax:

SELECT column1, column2
FROM table1
RIGHT JOIN table2
ON table1.column = table2.column;

উদাহরণ:

SELECT orders.order_id, customers.customer_name
FROM orders
RIGHT JOIN customers ON orders.customer_id = customers.customer_id;

এটি customers টেবিলের সব রেকর্ড দেখাবে, এবং যেখানে মিল পাওয়া যাবে, সেখানে order_id দেখাবে। যাদের মিল পাওয়া যাবে না, তাদের জন্য order_id হবে NULL


4. FULL OUTER JOIN

MySQL সরাসরি FULL OUTER JOIN সমর্থন করে না। তবে, আপনি LEFT JOIN এবং RIGHT JOIN একসাথে ব্যবহার করে পূর্ণ আউটার জয়েন (FULL OUTER JOIN) এর ফলাফল পেতে পারেন।

সyntax:

SELECT column1, column2
FROM table1
LEFT JOIN table2 ON table1.column = table2.column
UNION
SELECT column1, column2
FROM table1
RIGHT JOIN table2 ON table1.column = table2.column;

উদাহরণ:

SELECT orders.order_id, customers.customer_name
FROM orders
LEFT JOIN customers ON orders.customer_id = customers.customer_id
UNION
SELECT orders.order_id, customers.customer_name
FROM orders
RIGHT JOIN customers ON orders.customer_id = customers.customer_id;

এটি orders এবং customers টেবিলের সব রেকর্ড রিটার্ন করবে, যেখানে মিল পাওয়া যাবে এবং যাদের মিল নেই তাদের জন্য NULL রিটার্ন করবে।

সারাংশ

  • INNER JOIN: শুধুমাত্র মিল থাকা রেকর্ডগুলো দেখায়।
  • LEFT JOIN: প্রথম টেবিলের সব রেকর্ড এবং মিল পাওয়া রেকর্ডগুলোর জন্য দ্বিতীয় টেবিলের তথ্য দেখায়, যেখানে মিল না থাকলে NULL দেখায়।
  • RIGHT JOIN: দ্বিতীয় টেবিলের সব রেকর্ড এবং মিল পাওয়া রেকর্ডগুলোর জন্য প্রথম টেবিলের তথ্য দেখায়, যেখানে মিল না থাকলে NULL দেখায়।
  • FULL OUTER JOIN: দুটি টেবিলের সব রেকর্ড রিটার্ন করে, যেখানে মিল না থাকলে NULL দেখায় (MySQL-এ এটি LEFT JOIN এবং RIGHT JOIN ব্যবহার করে করা যায়)।

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

Content added By
Promotion

Are you sure to start over?

Loading...