Microsoft Technologies SQL Server এর বেসিক কমান্ড (Basic SQL Commands) গাইড ও নোট

997

SQL Server তে ডেটাবেস ম্যানিপুলেশন এবং পরিচালনার জন্য বিভিন্ন ধরনের SQL (Structured Query Language) কমান্ড ব্যবহার করা হয়। SQL কমান্ডগুলি মূলত ডেটাবেসের তথ্য নির্বাচন, যোগ, আপডেট এবং মুছে ফেলা সম্পর্কিত কাজগুলি সম্পন্ন করতে ব্যবহৃত হয়। এখানে SQL Server এর বেসিক কিছু কমান্ড এবং তাদের ব্যাখ্যা দেওয়া হল।


1. SELECT – ডেটা নির্বাচন করা

SELECT কমান্ড SQL Server এ ডেটাবেস থেকে তথ্য বা রেকর্ড নির্বাচন করার জন্য ব্যবহৃত হয়।

Syntax:

SELECT column1, column2, ...
FROM table_name;

উদাহরণ:

SELECT FirstName, LastName
FROM Employees;

এই কমান্ডটি Employees টেবিল থেকে FirstName এবং LastName কলাম দুটি নির্বাচন করবে।

সব কলাম নির্বাচন:

SELECT * 
FROM Employees;

এটি Employees টেবিলের সমস্ত কলাম এবং রেকর্ড নির্বাচন করবে।


2. INSERT INTO – ডেটা ইনসার্ট করা

INSERT INTO কমান্ডটি SQL Server ডেটাবেসে নতুন রেকর্ড যোগ করার জন্য ব্যবহৃত হয়।

Syntax:

INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...);

উদাহরণ:

INSERT INTO Employees (FirstName, LastName, Age)
VALUES ('John', 'Doe', 30);

এই কমান্ডটি Employees টেবিলে নতুন রেকর্ড যোগ করবে যেখানে FirstName হচ্ছে 'John', LastName হচ্ছে 'Doe' এবং Age হচ্ছে 30।


3. UPDATE – ডেটা আপডেট করা

UPDATE কমান্ডটি SQL Server ডেটাবেসে বিদ্যমান রেকর্ডের মান পরিবর্তন করার জন্য ব্যবহৃত হয়।

Syntax:

UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;

উদাহরণ:

UPDATE Employees
SET Age = 31
WHERE FirstName = 'John' AND LastName = 'Doe';

এই কমান্ডটি Employees টেবিলের FirstName 'John' এবং LastName 'Doe' এর সাথে মিলিত রেকর্ডের Age আপডেট করে 31 তে পরিবর্তন করবে।


4. DELETE – ডেটা মুছে ফেলা

DELETE কমান্ডটি SQL Server ডেটাবেস থেকে একটি বা একাধিক রেকর্ড মুছে ফেলার জন্য ব্যবহৃত হয়।

Syntax:

DELETE FROM table_name
WHERE condition;

উদাহরণ:

DELETE FROM Employees
WHERE FirstName = 'John' AND LastName = 'Doe';

এই কমান্ডটি Employees টেবিল থেকে FirstName 'John' এবং LastName 'Doe' এর সাথে মিলিত রেকর্ড মুছে ফেলবে।


5. CREATE TABLE – টেবিল তৈরি করা

CREATE TABLE কমান্ডটি SQL Server এ একটি নতুন টেবিল তৈরি করার জন্য ব্যবহৃত হয়।

Syntax:

CREATE TABLE table_name (
    column1 datatype,
    column2 datatype,
    ...
);

উদাহরণ:

CREATE TABLE Employees (
    EmployeeID int PRIMARY KEY,
    FirstName varchar(50),
    LastName varchar(50),
    Age int
);

এই কমান্ডটি Employees নামক একটি নতুন টেবিল তৈরি করবে, যেখানে EmployeeID হল প্রাথমিক কী এবং অন্যান্য কলাম হিসেবে FirstName, LastName, এবং Age থাকবে।


6. ALTER TABLE – টেবিল পরিবর্তন করা

ALTER TABLE কমান্ডটি SQL Server তে একটি বিদ্যমান টেবিলের কাঠামো পরিবর্তন করার জন্য ব্যবহৃত হয়, যেমন নতুন কলাম যোগ করা বা বিদ্যমান কলাম পরিবর্তন করা।

Syntax (কলাম যোগ করা):

ALTER TABLE table_name
ADD column_name datatype;

উদাহরণ (কলাম যোগ করা):

ALTER TABLE Employees
ADD Email varchar(100);

এই কমান্ডটি Employees টেবিলে Email নামক নতুন একটি কলাম যোগ করবে।

Syntax (কলাম পরিবর্তন করা):

ALTER TABLE table_name
ALTER COLUMN column_name datatype;

উদাহরণ (কলাম পরিবর্তন করা):

ALTER TABLE Employees
ALTER COLUMN Age bigint;

এই কমান্ডটি Employees টেবিলের Age কলামের ডেটাটাইপ পরিবর্তন করবে bigint এ।


7. DROP TABLE – টেবিল মুছে ফেলা

DROP TABLE কমান্ডটি SQL Server তে একটি টেবিল এবং তার সমস্ত ডেটা মুছে ফেলতে ব্যবহৃত হয়।

Syntax:

DROP TABLE table_name;

উদাহরণ:

DROP TABLE Employees;

এই কমান্ডটি Employees টেবিল এবং তার সমস্ত ডেটা মুছে ফেলবে।


8. WHERE – শর্তযুক্ত তথ্য নির্বাচন

WHERE ক্লজটি SQL কমান্ডের সাথে ব্যবহৃত হয়, যাতে নির্দিষ্ট শর্তের ভিত্তিতে ডেটা নির্বাচন, আপডেট বা মুছে ফেলা যায়।

উদাহরণ:

SELECT * 
FROM Employees
WHERE Age > 30;

এই কমান্ডটি Employees টেবিল থেকে সমস্ত রেকর্ড নির্বাচন করবে, যেখানে Age 30 এর বেশি।


9. ORDER BY – সাজানো ডেটা নির্বাচন

ORDER BY কমান্ডটি ডেটাবেসে নির্বাচিত ডেটাকে নির্দিষ্ট কলাম বা কলামের ভিত্তিতে সাজানোর জন্য ব্যবহৃত হয়। ডিফল্টভাবে এটি বাড়ানোর (Ascending) অর্ডারে সাজায়, তবে আপনি নেমে (Descending) অর্ডারে সাজানোর জন্য DESC ব্যবহার করতে পারেন।

Syntax:

SELECT column1, column2, ...
FROM table_name
ORDER BY column1 [ASC | DESC];

উদাহরণ:

SELECT * 
FROM Employees
ORDER BY Age DESC;

এই কমান্ডটি Employees টেবিলের রেকর্ডগুলো Age কলামের ভিত্তিতে নাম্বার অনুযায়ী DESC (নেমে) অর্ডারে সাজাবে।


10. GROUP BY – গ্রুপ করে ডেটা নির্বাচন

GROUP BY কমান্ডটি এক বা একাধিক কলামের ভিত্তিতে ডেটা গ্রুপ করে এবং একটি অ্যাগ্রিগেট ফাংশন (যেমন SUM, COUNT, AVG) প্রয়োগ করতে ব্যবহৃত হয়।

Syntax:

SELECT column1, COUNT(*)
FROM table_name
GROUP BY column1;

উদাহরণ:

SELECT Age, COUNT(*)
FROM Employees
GROUP BY Age;

এই কমান্ডটি Employees টেবিলের Age কলাম অনুযায়ী রেকর্ডগুলোকে গ্রুপ করবে এবং প্রতিটি বয়সের কতগুলো রেকর্ড রয়েছে তা গণনা করবে।


সারাংশ

SQL Server এর বেসিক কমান্ডগুলো ডেটাবেস ম্যানিপুলেশন এবং পরিচালনা করতে গুরুত্বপূর্ণ ভূমিকা পালন করে। এগুলো বিভিন্ন ধরনের কাজ যেমন ডেটা নির্বাচন, যোগ, আপডেট, মুছে ফেলা, টেবিল তৈরি এবং পরিবর্তন করার জন্য ব্যবহৃত হয়। SELECT, INSERT INTO, UPDATE, DELETE, CREATE TABLE, এবং ALTER TABLE এর মতো কমান্ডগুলো SQL Server তে খুবই মৌলিক এবং অত্যন্ত গুরুত্বপূর্ণ।

Content added By

SELECT, INSERT, UPDATE, DELETE কমান্ড

434

SQL (Structured Query Language) হলো ডেটাবেসের সাথে ইন্টারঅ্যাক্ট করার জন্য ব্যবহৃত ভাষা। SELECT, INSERT, UPDATE, এবং DELETE হল SQL এর চারটি প্রধান কমান্ড যা ডেটাবেসে ডেটা নির্বাচন, যোগ, আপডেট এবং মুছে ফেলার জন্য ব্যবহৃত হয়। এই কমান্ডগুলোর সাহায্যে আপনি SQL Server বা অন্য কোন রিলেশনাল ডেটাবেস সিস্টেমে ডেটাবেস ম্যানিপুলেশন করতে পারবেন।


1. SELECT Command

SELECT কমান্ড SQL ডেটাবেস থেকে ডেটা নির্বাচন (retrieve) করতে ব্যবহৃত হয়। এটি সবচেয়ে বেশি ব্যবহৃত SQL কমান্ড।

সিনট্যাক্স:

SELECT column1, column2, ... 
FROM table_name
WHERE condition;
  • column1, column2, ...: আপনি যেসব কলাম থেকে ডেটা চাইছেন, সেগুলোর নাম।
  • table_name: ডেটা নির্বাচন করার টেবিলের নাম।
  • WHERE condition: একটি ঐচ্ছিক শর্ত যা নির্ধারণ করে আপনি কোন ডেটা দেখতে চান।

উদাহরণ:

  1. সমস্ত কলাম থেকে ডেটা নির্বাচন করা:

    SELECT * FROM Customers;
    

    এখানে * সব কলাম বোঝায় এবং Customers হলো টেবিলের নাম।

  2. নির্দিষ্ট কলাম থেকে ডেটা নির্বাচন করা:

    SELECT FirstName, LastName FROM Customers;
    

    এটি Customers টেবিল থেকে FirstName এবং LastName কলামগুলো নির্বাচন করবে।

  3. শর্ত অনুযায়ী ডেটা নির্বাচন করা:

    SELECT * FROM Customers WHERE City = 'Dhaka';
    

    এটি Customers টেবিল থেকে City কলামে 'Dhaka' থাকা রেকর্ডগুলো নির্বাচন করবে।


2. INSERT Command

INSERT কমান্ড SQL ডেটাবেসে নতুন ডেটা যুক্ত করতে ব্যবহৃত হয়।

সিনট্যাক্স:

INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...);
  • table_name: টেবিলের নাম যেখানে ডেটা যোগ করতে চান।
  • column1, column2, ...: টেবিলের যে কলামগুলিতে ডেটা ইনসার্ট করতে চান।
  • value1, value2, ...: আপনি যে মান (value) ইনসার্ট করতে চান।

উদাহরণ:

  1. নতুন রেকর্ড ইনসার্ট করা:

    INSERT INTO Customers (FirstName, LastName, City)
    VALUES ('John', 'Doe', 'Dhaka');
    

    এটি Customers টেবিলের FirstName, LastName, এবং City কলামে নতুন রেকর্ড ইনসার্ট করবে।

  2. সমস্ত কলাম থেকে ডেটা ইনসার্ট করা (যদি আপনি প্রতিটি কলামের মান জানেন):

    INSERT INTO Customers
    VALUES ('Alice', 'Smith', 'Chittagong');
    

3. UPDATE Command

UPDATE কমান্ড SQL ডেটাবেসের বিদ্যমান ডেটা আপডেট করতে ব্যবহৃত হয়। এটি ডেটা পরিবর্তন করতে ব্যবহৃত হয়।

সিনট্যাক্স:

UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
  • table_name: টেবিলের নাম যেখানে ডেটা আপডেট করতে চান।
  • column1 = value1, column2 = value2, ...: কোন কলামের মান পরিবর্তন করতে চান এবং সেই কলামে কোন মান ইনপুট করতে চান।
  • WHERE condition: এটি একটি শর্ত যা নির্ধারণ করে কোন রেকর্ডগুলো আপডেট করা হবে।

উদাহরণ:

  1. একটি রেকর্ডের মান আপডেট করা:

    UPDATE Customers
    SET City = 'Rajshahi'
    WHERE CustomerID = 1;
    

    এটি Customers টেবিলের CustomerID 1 এর রেকর্ডের City কলামের মান 'Rajshahi' করে দিবে।

  2. একাধিক কলামের মান আপডেট করা:

    UPDATE Customers
    SET FirstName = 'Michael', LastName = 'Jordan'
    WHERE CustomerID = 2;
    

    এটি Customers টেবিলের CustomerID 2 এর রেকর্ডের FirstName এবং LastName আপডেট করবে।


4. DELETE Command

DELETE কমান্ড SQL ডেটাবেস থেকে ডেটা মুছে ফেলতে ব্যবহৃত হয়।

সিনট্যাক্স:

DELETE FROM table_name
WHERE condition;
  • table_name: টেবিলের নাম থেকে ডেটা মুছে ফেলতে চান।
  • WHERE condition: এটি একটি শর্ত যা নির্ধারণ করে কোন রেকর্ড মুছে ফেলা হবে। এটি না দিলে সমস্ত রেকর্ড মুছে ফেলা হবে।

উদাহরণ:

  1. একটি নির্দিষ্ট রেকর্ড মুছে ফেলা:

    DELETE FROM Customers
    WHERE CustomerID = 3;
    

    এটি Customers টেবিলের CustomerID 3 এর রেকর্ড মুছে ফেলবে।

  2. সব রেকর্ড মুছে ফেলা (সতর্কতা: এই কাজটি পুরো টেবিলের সব ডেটা মুছে ফেলবে):

    DELETE FROM Customers;
    

সারাংশ

SELECT, INSERT, UPDATE, এবং DELETE কমান্ডগুলি SQL এর গুরুত্বপূর্ণ অংশ। এগুলো ডেটাবেসে ডেটা নির্বাচন, যোগ, আপডেট এবং মুছে ফেলতে ব্যবহৃত হয়। SQL এর এই কমান্ডগুলো ব্যবহার করে আপনি ডেটাবেসের ডেটা ম্যানিপুলেশন এবং অ্যাক্সেস করতে পারেন:

  • SELECT: ডেটা নির্বাচন।
  • INSERT: নতুন ডেটা যোগ করা।
  • UPDATE: বিদ্যমান ডেটা আপডেট করা।
  • DELETE: ডেটা মুছে ফেলা।

এই কমান্ডগুলোর সঠিক ব্যবহার ডেটাবেস পরিচালনাকে সহজ এবং কার্যকরী করে তোলে।

Content added By

Data Filtering এবং Sorting (WHERE, ORDER BY, DISTINCT)

383

SQL (Structured Query Language) ব্যবহার করে ডেটাবেস থেকে নির্দিষ্ট ডেটা নির্বাচন এবং সাজানোর জন্য Filtering এবং Sorting এর ব্যবহার অত্যন্ত গুরুত্বপূর্ণ। এই দুটি অপারেশন WHERE, ORDER BY, এবং DISTINCT কমান্ডের মাধ্যমে সম্পন্ন করা যায়। এই গাইডে আমরা এই কমান্ডগুলোর ব্যবহার এবং তাদের কাজ বুঝে নেব।


1. WHERE ক্লজ – ডেটা ফিল্টারিং

WHERE ক্লজ SQL এর একটি গুরুত্বপূর্ণ অংশ যা ডেটাবেস থেকে নির্দিষ্ট শর্তের ভিত্তিতে ডেটা ফিল্টার বা নির্বাচন করতে ব্যবহৃত হয়। এটি ডেটাবেসের টেবিল থেকে নির্দিষ্ট রেকর্ডস নির্বাচন করতে সাহায্য করে।

1.1. WHERE ক্লজ এর ব্যবহার

WHERE ক্লজ ব্যবহার করে আপনি এক বা একাধিক শর্ত প্রদান করতে পারেন। এটি =, >, <, >=, <=, <>, এবং BETWEEN এর মতো অপারেটর দ্বারা শর্ত প্রদান করতে সাহায্য করে।

সাধারণ সিনট্যাক্স:

SELECT column1, column2
FROM table_name
WHERE condition;

1.2. উদাহরণ

ধরা যাক, একটি Employees টেবিল রয়েছে, যেখানে কর্মচারীদের নাম এবং বয়স সংরক্ষিত রয়েছে। আপনি যদি শুধুমাত্র ৩০ বছরের বেশি বয়সী কর্মচারীদের দেখতে চান, তাহলে:

SELECT Name, Age
FROM Employees
WHERE Age > 30;

এখানে, WHERE ক্লজ Age > 30 শর্তে শুধুমাত্র ৩০ বছরের বেশি বয়সী কর্মচারীদের নির্বাচন করবে।

1.3. WHERE-এ লজিক্যাল অপারেটর

আপনি AND, OR, এবং NOT ব্যবহার করে একাধিক শর্ত যুক্ত করতে পারেন।

  • AND: যদি দুটি শর্ত একসাথে পূর্ণ হতে হয়।
  • OR: যদি কোনো একটি শর্ত পূর্ণ হলে হয়।
  • NOT: কোনো শর্ত পূর্ণ না হলে।

উদাহরণ:

SELECT Name, Age, Department
FROM Employees
WHERE Age > 30 AND Department = 'HR';

এই কোডটি শুধুমাত্র সেই কর্মচারীদের তালিকা করবে যাদের বয়স ৩০ বছরের বেশি এবং যাদের ডিপার্টমেন্ট 'HR'।


2. ORDER BY ক্লজ – ডেটা সাজানো

ORDER BY ক্লজ SQL এর মাধ্যমে ডেটা সাজানোর জন্য ব্যবহৃত হয়। এটি ডেটাবেসের টেবিল থেকে রেকর্ডগুলো একটি নির্দিষ্ট ক্রমে সাজানোর জন্য ব্যবহার করা হয়। ডেটা সাজানোর জন্য আপনি ASC (Ascending) বা DESC (Descending) ব্যবহার করতে পারেন।

2.1. ORDER BY ক্লজ এর ব্যবহার

ORDER BY ক্লজ ব্যবহার করে আপনি একটি বা একাধিক কলাম দ্বারা ডেটা সাজাতে পারেন।

সাধারণ সিনট্যাক্স:

SELECT column1, column2
FROM table_name
ORDER BY column_name [ASC|DESC];
  • ASC: Ascending order, অর্থাৎ ছোট থেকে বড় (ডিফল্ট)।
  • DESC: Descending order, অর্থাৎ বড় থেকে ছোট।

2.2. উদাহরণ

ধরা যাক, আপনি কর্মচারীদের নাম অনুযায়ী সাজাতে চান। তখন:

SELECT Name, Age
FROM Employees
ORDER BY Name ASC;

এখানে ORDER BY Name ASC কর্মচারীদের নামকে ছোট থেকে বড় অক্ষরের ভিত্তিতে সাজিয়ে দেখাবে।

2.3. একাধিক কলাম দ্বারা সাজানো

আপনি একাধিক কলামের মাধ্যমে ডেটা সাজাতে পারেন। ORDER BY ক্লজে একাধিক কলাম নির্ধারণ করে সাজানো যাবে। প্রথম কলাম অনুযায়ী সাজানো হবে, তারপর দ্বিতীয় কলাম অনুযায়ী এবং এভাবে চলতে থাকবে।

উদাহরণ:

SELECT Name, Age, Department
FROM Employees
ORDER BY Department ASC, Age DESC;

এখানে প্রথমে কর্মচারীদের ডিপার্টমেন্ট অনুযায়ী ছোট থেকে বড় অর্ডারে সাজানো হবে, এবং একে যদি দুটি কর্মচারীর ডিপার্টমেন্ট একই থাকে তবে তাদের বয়স বড় থেকে ছোট অর্ডারে সাজানো হবে।


3. DISTINCT – ডুপ্লিকেট ডেটা বাদ দেওয়া

DISTINCT কমান্ড ব্যবহার করে আপনি ডুপ্লিকেট রেকর্ডস মুছে নির্দিষ্ট একক ডেটা দেখতে পারবেন। এটি সঠিক বা ইউনিক মান নির্বাচন করতে ব্যবহৃত হয়।

3.1. DISTINCT এর ব্যবহার

DISTINCT ব্যবহারে আপনি কোনো নির্দিষ্ট কলামের একক মান দেখতে পারেন।

সাধারণ সিনট্যাক্স:

SELECT DISTINCT column1, column2
FROM table_name;

3.2. উদাহরণ

ধরা যাক, আপনার Employees টেবিলের মধ্যে কয়েকজন কর্মচারীর একই বয়স রয়েছে এবং আপনি শুধুমাত্র ইউনিক বয়সের তালিকা দেখতে চান:

SELECT DISTINCT Age
FROM Employees;

এই কোডটি Age কলামে শুধুমাত্র ইউনিক বয়সের মানগুলো দেখাবে, ডুপ্লিকেট বয়স বাদ দিয়ে।

3.3. DISTINCT এবং WHERE একসাথে ব্যবহার

আপনি DISTINCT এবং WHERE একসাথে ব্যবহার করে আরও নির্দিষ্ট ডেটা ফিল্টার করতে পারেন।

উদাহরণ:

SELECT DISTINCT Age
FROM Employees
WHERE Department = 'HR';

এখানে শুধুমাত্র HR ডিপার্টমেন্টে কর্মরত ইউনিক বয়সের কর্মচারীদের তালিকা দেখাবে।


সারাংশ

  • WHERE ক্লজ ব্যবহার করে আপনি ডেটা ফিল্টার বা সিলেক্ট করতে পারেন, যা শর্ত নির্ধারণ করে ডেটাবেস থেকে প্রাসঙ্গিক ডেটা নির্বাচন করতে সাহায্য করে।
  • ORDER BY ক্লজ ব্যবহার করে ডেটা সাজানো হয়, যা ASC বা DESC অর্ডারে ডেটাকে সজ্জিত করে।
  • DISTINCT কমান্ড ব্যবহার করে আপনি ডুপ্লিকেট রেকর্ড বাদ দিয়ে ইউনিক ডেটা দেখতে পারেন, যা ডেটাবেসে সংরক্ষিত প্রতিটি ভিন্ন মান প্রদর্শন করে।

এই তিনটি কমান্ড (WHERE, ORDER BY, DISTINCT) SQL তে ডেটার কার্যকরী ফিল্টারিং এবং সাজানোর জন্য অত্যন্ত গুরুত্বপূর্ণ।

Content added By

JOINs (INNER, OUTER, LEFT, RIGHT) এর ব্যবহার

483

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

SQL Functions (SUM, AVG, COUNT, MIN, MAX)

472

SQL ফাংশনগুলো ব্যবহার করে ডেটাবেস থেকে তথ্য সংগ্রহ, বিশ্লেষণ এবং প্রক্রিয়া করা সহজ হয়। এই ফাংশনগুলো সাধারণত অ্যাগ্রিগেট ফাংশন (Aggregate Functions) হিসাবে পরিচিত, যেগুলি একাধিক রেকর্ডের উপর কাজ করে এবং একটি একক মান প্রদান করে। এখানে আমরা SUM, AVG, COUNT, MIN, এবং MAX ফাংশন সম্পর্কে বিস্তারিত আলোচনা করব।


1. SUM() Function

SUM() ফাংশনটি নির্দিষ্ট কলামের সব মানের যোগফল বের করতে ব্যবহৃত হয়। এটি সাধারণত সংখ্যা সংক্রান্ত তথ্যের জন্য ব্যবহৃত হয়, যেমন টোটাল সেলস, প্রফিট ইত্যাদি।

সিনট্যাক্স:

SELECT SUM(column_name) FROM table_name WHERE condition;

উদাহরণ:

ধরা যাক, আমাদের একটি Sales টেবিল আছে যেখানে প্রতিটি পণ্যের দাম এবং বিক্রির পরিমাণ সংরক্ষিত থাকে। আমরা মোট বিক্রির পরিমাণ জানতে চাই:

SELECT SUM(sale_amount) FROM Sales;

এটি sale_amount কলামের সকল মান যোগফল প্রদান করবে।


2. AVG() Function

AVG() ফাংশনটি নির্দিষ্ট কলামের গড় মান বের করতে ব্যবহৃত হয়। এটি সাধারণত গড় মূল্য, গড় স্কোর বা গড় পরিমাণ গণনা করতে ব্যবহৃত হয়।

সিনট্যাক্স:

SELECT AVG(column_name) FROM table_name WHERE condition;

উদাহরণ:

ধরা যাক, আমাদের একটি Employees টেবিল আছে যেখানে কর্মীদের বেতন সংরক্ষিত থাকে। গড় বেতন বের করতে:

SELECT AVG(salary) FROM Employees;

এটি salary কলামের গড় মান প্রদান করবে।


3. COUNT() Function

COUNT() ফাংশনটি নির্দিষ্ট কলামের বা রেকর্ডের সংখ্যা গণনা করতে ব্যবহৃত হয়। এটি সারণী থেকে কতগুলি রেকর্ড আছে তা বের করতে সহায়ক।

সিনট্যাক্স:

SELECT COUNT(column_name) FROM table_name WHERE condition;

উদাহরণ:

ধরা যাক, আমাদের একটি Orders টেবিল আছে যেখানে অর্ডার তথ্য রয়েছে। মোট অর্ডারের সংখ্যা বের করতে:

SELECT COUNT(order_id) FROM Orders;

এটি order_id কলামে থাকা রেকর্ডের সংখ্যা গণনা করবে।

COUNT(*) উদাহরণ:

COUNT(*) সমস্ত রেকর্ডের সংখ্যা গণনা করতে ব্যবহৃত হয়, এবং এটি NULL মানকেও গণনা করে।

SELECT COUNT(*) FROM Orders;

এটি Orders টেবিলের সমস্ত রেকর্ডের সংখ্যা প্রদান করবে।


4. MIN() Function

MIN() ফাংশনটি নির্দিষ্ট কলামের মধ্যে সর্বনিম্ন মান বের করতে ব্যবহৃত হয়। এটি সাধারণত সংখ্যার বা তারিখের জন্য ব্যবহৃত হয়।

সিনট্যাক্স:

SELECT MIN(column_name) FROM table_name WHERE condition;

উদাহরণ:

ধরা যাক, আমাদের একটি Products টেবিল আছে যেখানে পণ্যের মূল্য রয়েছে। আমরা সর্বনিম্ন মূল্য বের করতে চাই:

SELECT MIN(price) FROM Products;

এটি price কলামে থাকা সর্বনিম্ন মান প্রদান করবে।


5. MAX() Function

MAX() ফাংশনটি নির্দিষ্ট কলামের মধ্যে সর্বোচ্চ মান বের করতে ব্যবহৃত হয়। এটি সংখ্যার বা তারিখের জন্য ব্যবহৃত হয়।

সিনট্যাক্স:

SELECT MAX(column_name) FROM table_name WHERE condition;

উদাহরণ:

ধরা যাক, আমাদের একটি Employees টেবিল আছে যেখানে কর্মীদের বেতন রয়েছে। সর্বোচ্চ বেতন বের করতে:

SELECT MAX(salary) FROM Employees;

এটি salary কলামে থাকা সর্বোচ্চ মান প্রদান করবে।


সারাংশ

  • SUM(): নির্দিষ্ট কলামের মোট যোগফল বের করে।
  • AVG(): নির্দিষ্ট কলামের গড় মান বের করে।
  • COUNT(): নির্দিষ্ট কলামে বা টেবিলে রেকর্ডের সংখ্যা গণনা করে।
  • MIN(): নির্দিষ্ট কলামের সর্বনিম্ন মান বের করে।
  • MAX(): নির্দিষ্ট কলামের সর্বোচ্চ মান বের করে।

এই অ্যাগ্রিগেট ফাংশনগুলো SQL ডেটাবেসের মধ্যে বিশ্লেষণ এবং রিপোর্ট তৈরির জন্য গুরুত্বপূর্ণ টুল, যা আপনাকে বিভিন্ন ধরনের ডেটা বিশ্লেষণে সহায়তা করে।

Content added By
Promotion

Are you sure to start over?

Loading...