Joins (INNER, OUTER) এবং Subqueries

SQL Queries in HSQLDB - এইচএসকিউএলডিবি (HSQLDB) - Database Tutorials

317

Joins এবং Subqueries SQL ডেটাবেসে ডেটা পুনরুদ্ধার এবং বিশ্লেষণ করার জন্য অত্যন্ত গুরুত্বপূর্ণ কৌশল। HSQLDB SQL:2011 স্ট্যান্ডার্ড অনুসরণ করে, যা এই দুটি ফিচার ব্যবহারে শক্তিশালী সমর্থন প্রদান করে। Joins ব্যবহার করে একাধিক টেবিলের ডেটা একত্রিত করা যায় এবং Subqueries ব্যবহার করে একটি প্রশ্নের ভিতরে আরও একটি প্রশ্ন চালানো যায়।


Joins

Joins হল একাধিক টেবিল থেকে ডেটা পুনরুদ্ধারের পদ্ধতি। এটি টেবিলগুলির মধ্যে সম্পর্ক স্থাপন করে এবং ডেটাকে একত্রিত করে।

INNER JOIN

INNER JOIN এমন একটি পদ্ধতি যা শুধুমাত্র সেই রেকর্ডগুলিকে ফেরত দেয় যেখানে দুটি টেবিলের মধ্যে মিল আছে।

উদাহরণ

employees এবং departments টেবিল:

employeesdepartments
employee_iddept_id
1101
2102
3103
SELECT e.employee_name, d.department_name
FROM employees e
INNER JOIN departments d
ON e.dept_id = d.dept_id;

ফলাফল:

employee_namedepartment_name
AliceHR
BobIT
CharlieSales

OUTER JOIN

OUTER JOIN তিন ধরনের হতে পারে:

  • LEFT JOIN: বাম দিকের টেবিলের সমস্ত রেকর্ড রাখে এবং ডান দিকের মিলযুক্ত রেকর্ড।
  • RIGHT JOIN: ডান দিকের টেবিলের সমস্ত রেকর্ড রাখে এবং বাম দিকের মিলযুক্ত রেকর্ড।
  • FULL JOIN: উভয় টেবিলের সমস্ত রেকর্ড রাখে, মিল থাকুক বা না থাকুক।
উদাহরণ: LEFT JOIN
SELECT e.employee_name, d.department_name
FROM employees e
LEFT JOIN departments d
ON e.dept_id = d.dept_id;

ফলাফল:

employee_namedepartment_name
AliceHR
BobIT
CharlieSales
উদাহরণ: FULL OUTER JOIN
SELECT e.employee_name, d.department_name
FROM employees e
FULL OUTER JOIN departments d
ON e.dept_id = d.dept_id;

ফলাফল (যদি departments এ অতিরিক্ত ডেটা থাকে):

employee_namedepartment_name
AliceHR
BobIT
CharlieSales
NULLMarketing

Subqueries

Subqueries হল এমন একটি কৌশল যেখানে একটি SQL প্রশ্নের ভিতরে আরেকটি SQL প্রশ্ন চালানো হয়। এটি জটিল ডেটা বিশ্লেষণ এবং পুনরুদ্ধারে ব্যবহৃত হয়।

উদাহরণ ১: WHERE-এ Subquery ব্যবহার

ধরা যাক, আমরা সেই কর্মচারীদের নাম বের করতে চাই যারা HR ডিপার্টমেন্টে কাজ করে।

SELECT employee_name
FROM employees
WHERE dept_id = (
    SELECT dept_id
    FROM departments
    WHERE department_name = 'HR'
);

ফলাফল:

employee_name
Alice

উদাহরণ ২: SELECT-এ Subquery ব্যবহার

সবচেয়ে বেশি কর্মচারী রয়েছে এমন ডিপার্টমেন্টের নাম বের করা:

SELECT department_name
FROM departments
WHERE dept_id = (
    SELECT dept_id
    FROM employees
    GROUP BY dept_id
    ORDER BY COUNT(*) DESC
    LIMIT 1
);

উদাহরণ ৩: FROM-এ Subquery ব্যবহার

সব ডিপার্টমেন্টের কর্মচারী সংখ্যা গণনা করা:

SELECT department_name, employee_count
FROM (
    SELECT d.department_name, COUNT(e.employee_id) AS employee_count
    FROM departments d
    LEFT JOIN employees e ON d.dept_id = e.dept_id
    GROUP BY d.department_name
) AS dept_summary;

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

বৈশিষ্ট্যJoinsSubqueries
ব্যবহারএকাধিক টেবিল থেকে ডেটা একত্রিত করাএকটি প্রশ্নের ভিতরে অন্য প্রশ্ন চালানো
পারফরম্যান্সসাধারণত দ্রুত (বিশেষ করে বড় ডেটাতে)জটিল হলে ধীর হতে পারে
সহজতানির্দিষ্ট সম্পর্কের জন্য সহজজটিল বিশ্লেষণের জন্য উপযোগী

সারাংশ

Joins এবং Subqueries SQL ডেটা ম্যানিপুলেশনের দুটি শক্তিশালী টুল। Joins ব্যবহার করে একাধিক টেবিলের ডেটা একত্রিত করা সম্ভব, যেখানে Subqueries একটি প্রশ্নের ভিতরে আরও একটি প্রশ্ন চালানোর সুযোগ দেয়। HSQLDB এ SQL:2011 স্ট্যান্ডার্ড সমর্থন থাকায় এই দুটি কৌশল সহজে এবং দক্ষতার সাথে ব্যবহার করা যায়।

Content added By
Promotion

Are you sure to start over?

Loading...