Joins এবং Subquery এর মধ্যে পার্থক্য

SQL এ Joins এর ব্যবহার - এসকিউএল সার্টিফিকেশন (SQL Certification) - Database Tutorials

292

Joins এবং Subqueries দুটোই SQL-এ ব্যবহৃত হয় একাধিক টেবিল থেকে তথ্য সংগ্রহ করতে, কিন্তু তাদের কাজ করার পদ্ধতি এবং ব্যবহারে কিছু মৌলিক পার্থক্য রয়েছে।

এখানে আমরা Joins এবং Subqueries এর মধ্যে পার্থক্যগুলি বিস্তারিতভাবে আলোচনা করবো:


1. Joins (জয়েনস)

JOIN SQL কমান্ডটি একাধিক টেবিলের মধ্যে সম্পর্ক তৈরি করে এবং সেগুলোর মধ্যে থাকা সম্পর্কিত তথ্য একসাথে নিয়ে আসে। যখন দুটি বা ততোধিক টেবিলের মধ্যে সম্পর্ক থাকে (যেমন: Foreign Key), তখন JOIN ব্যবহার করা হয় একাধিক টেবিল থেকে তথ্য সংগ্রহ করতে।

বিভিন্ন ধরনের JOIN:

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

JOIN উদাহরণ:

ধরা যাক, আমাদের দুটি টেবিল আছে:

  • employees (যেখানে কর্মচারীর তথ্য রয়েছে)
  • departments (যেখানে বিভাগ সম্পর্কিত তথ্য রয়েছে)

INNER JOIN ব্যবহার করে কর্মচারী এবং বিভাগের তথ্য সংগ্রহ:

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

এখানে, employees.department_id এবং departments.department_id এর মধ্যে সম্পর্ক তৈরি করে, এবং মিল থাকা রেকর্ডগুলো দেখানো হবে।


2. Subqueries (সাবকুয়েরি)

Subquery বা Nested Query হলো একটি কুয়েরি যা আরেকটি কুয়েরির ভিতরে থাকে। এটি একটি কুয়েরি যা অন্য কুয়েরির আউটপুটকে ইনপুট হিসেবে ব্যবহার করে। সাবকুয়েরি সাধারণত WHERE, FROM, অথবা SELECT ক্লজে ব্যবহার করা হয়।

Subquery উদাহরণ:

ধরা যাক, আমাদের employees টেবিলের মধ্যে যে কর্মচারীরা সর্বোচ্চ বেতন পায়, তাদের তথ্য দেখতে চাই।

SELECT name, salary
FROM employees
WHERE salary = (SELECT MAX(salary) FROM employees);

এখানে, সাবকুয়েরি (SELECT MAX(salary) FROM employees) প্রথমে সর্বোচ্চ বেতন খুঁজে বের করবে এবং প্রধান কুয়েরি সেই বেতন গ্রহণ করা কর্মচারীর নাম এবং বেতন ফিরিয়ে দিবে।


Joins এবং Subqueries এর মধ্যে পার্থক্য:

বিষয়JoinsSubqueries
ব্যবহারএকাধিক টেবিলের মধ্যে সম্পর্ক তৈরি করতে ব্যবহৃত হয়এক কুয়েরির আউটপুট অন্য কুয়েরিতে ইনপুট হিসেবে ব্যবহৃত হয়
প্রকারভেদINNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOINScalar, Row, Table Subqueries
পারফরমেন্সসাধারণত দ্রুত, কারণ এটি একযোগে একাধিক টেবিলের মধ্যে সম্পর্ক স্থাপন করেমাঝে মাঝে ধীর হতে পারে, কারণ সাবকুয়েরি আলাদা কুয়েরি হিসেবে সম্পন্ন হয়
ফলাফলএকাধিক টেবিলের তথ্য একত্রিত করে একটি সিঙ্গল আউটপুট প্রদান করেসাবকুয়েরির আউটপুট মূল কুয়েরির শর্ত হিসাবে ব্যবহার করা হয়
ব্যবহারের ক্ষেত্রেযখন একাধিক টেবিলের মধ্যে সম্পর্ক থাকতে হয়যখন একটি নির্দিষ্ট শর্তের ভিত্তিতে ডেটা নির্বাচন করতে হয়
নির্ভরতাJOIN সাধারণত ডেটার মধ্যে সম্পর্ক নির্ভর করেSubqueries এক কুয়েরির ভিতর অন্য কুয়েরির ফলাফল নির্ভর করে

সংক্ষেপে:

  • Joins সাধারণত একাধিক টেবিলের মধ্যে সম্পর্ক তৈরি করে এবং একযোগে তাদের তথ্য নিয়ে আসে।
  • Subqueries একটি কুয়েরির ভিতরে অন্য কুয়েরি থাকতে পারে, যা মূল কুয়েরি সঠিকভাবে কাজ করতে সাহায্য করে, বিশেষ করে শর্তাবলী নির্ধারণ করতে।

উভয় পদ্ধতিরই ব্যবহার উপযোগী, তবে এটি নির্ভর করে আপনি কী ধরনের প্রশ্ন করতে চান এবং আপনার ডেটাবেসের কাঠামো কেমন।

Content added By
Promotion

Are you sure to start over?

Loading...