SQL কিউরি লেখা হল ডেটাবেস থেকে তথ্য অনুসন্ধান এবং ম্যানিপুলেট করার প্রক্রিয়া। SQL এর মূল শক্তি হল এর ক্ষমতা ডেটাবেস থেকে দ্রুত এবং সঠিক তথ্য বের করার জন্য কিউরি লেখার। SQL কিউরি লেখার সময় সাধারণত কিছু নির্দিষ্ট কাঠামো অনুসরণ করতে হয়, যেমন SELECT, FROM, WHERE, GROUP BY, ORDER BY ইত্যাদি।
নিম্নে SQL কিউরি লেখার কিছু মূল ধারণা এবং টিপস দেওয়া হল:
১. বেসিক SELECT কিউরি লেখা
SELECT কিউরি দিয়ে ডেটাবেস থেকে তথ্য নির্বাচন করা হয়। এটি SQL এর সবচেয়ে সাধারণ এবং প্রাথমিক কিউরি।
উদাহরণ:
SELECT column1, column2, column3
FROM table_name;
এখানে:
SELECTনির্দেশ করে আপনি কোন কলামগুলো নির্বাচন করতে চান।FROMনির্দেশ করে আপনি কোন টেবিল থেকে ডেটা নিয়ে আসবেন।
উদাহরণ:
SELECT name, age, city
FROM employees;
এই কিউরিটি employees টেবিল থেকে name, age, এবং city কলামগুলি নির্বাচন করবে।
২. WHERE ক্লজ ব্যবহার করে ডেটা ফিল্টার করা
WHERE ক্লজ দিয়ে ডেটা ফিল্টার করা যায়, অর্থাৎ আপনি শুধু সেই রেকর্ডগুলি দেখতে চান যা একটি নির্দিষ্ট শর্ত পূর্ণ করে।
উদাহরণ:
SELECT name, age, city
FROM employees
WHERE age > 30;
এই কিউরি employees টেবিল থেকে শুধুমাত্র তাদের তথ্য দেখাবে, যাদের বয়স ৩০ বছরের বেশি।
৩. ORDER BY ব্যবহার করে ডেটা সাজানো
ORDER BY ক্লজ দিয়ে আপনি ডেটাকে নির্দিষ্ট ক্রমে সাজাতে পারেন, যেমন ASC (Ascending) বা DESC (Descending)।
উদাহরণ:
SELECT name, age, city
FROM employees
ORDER BY age DESC;
এই কিউরিটি employees টেবিল থেকে তথ্যগুলো age কলামের ভিত্তিতে নাম্বার অনুযায়ী অবতরণক্রমে সাজাবে।
ASC (Ascending) - ছোট থেকে বড়:
SELECT name, age, city
FROM employees
ORDER BY age ASC;
৪. DISTINCT ব্যবহার করে ডুপ্লিকেট ডেটা বাদ দেওয়া
DISTINCT শব্দটি ব্যবহার করলে আপনি ডুপ্লিকেট রেকর্ডগুলো বাদ দিতে পারেন এবং শুধুমাত্র অনন্য (unique) মান দেখতে পারেন।
উদাহরণ:
SELECT DISTINCT city
FROM employees;
এই কিউরিটি employees টেবিল থেকে সব ইউনিক (distinct) শহরের নাম দেখাবে।
৫. অ্যাগ্রিগেট ফাংশন ব্যবহার করা
SQL-এ বিভিন্ন অ্যাগ্রিগেট ফাংশন (যেমন: COUNT(), SUM(), AVG(), MIN(), MAX()) ব্যবহার করা যায় ডেটার ওপর পরিসংখ্যানমূলক বিশ্লেষণ করার জন্য।
উদাহরণ:
SELECT COUNT(*)
FROM employees
WHERE age > 30;
এই কিউরি employees টেবিল থেকে ৩০ বছর বয়সের উপরে কতজন কর্মচারী আছেন তা গণনা করবে।
৬. GROUP BY এবং HAVING ক্লজ ব্যবহার
GROUP BY ক্লজ দিয়ে আপনি একটি নির্দিষ্ট কলামের ভিত্তিতে ডেটাকে গ্রুপ করতে পারেন। যখন আপনি গ্রুপিং ব্যবহার করেন, তখন সাধারণত অ্যাগ্রিগেট ফাংশন ব্যবহার করা হয়। HAVING ক্লজটি GROUP BY এর পর ব্যবহার হয় এবং এটি গ্রুপ করা ডেটার ওপর শর্ত আরোপ করতে সাহায্য করে।
উদাহরণ:
SELECT city, COUNT(*)
FROM employees
GROUP BY city;
এই কিউরি employees টেবিল থেকে শহরের ভিত্তিতে কর্মচারীদের সংখ্যা গ্রুপ করবে।
HAVING ক্লজ ব্যবহার:
SELECT city, COUNT(*)
FROM employees
GROUP BY city
HAVING COUNT(*) > 5;
এটি শুধুমাত্র সেই শহরের নাম দেখাবে যেখানে ৫ জনের বেশি কর্মচারী কাজ করছেন।
৭. JOIN ব্যবহার করে একাধিক টেবিলের ডেটা আনা
SQL-এ বিভিন্ন টেবিলের মধ্যে সম্পর্ক (relationship) তৈরি করতে JOIN ব্যবহার করা হয়। বিভিন্ন ধরনের JOIN রয়েছে: INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN।
উদাহরণ (INNER JOIN):
SELECT employees.name, departments.department_name
FROM employees
INNER JOIN departments
ON employees.department_id = departments.id;
এই কিউরিটি employees এবং departments টেবিল থেকে তাদের সম্পর্কিত তথ্য দেখাবে, যেখানে employees.department_id এবং departments.id সমান।
৮. Subqueries এবং Nested Queries
Subquery হল একটি কিউরি যা অন্য একটি কিউরির ভিতরে লেখা হয়। এটি সাধারণত WHERE, FROM, অথবা SELECT ক্লজে ব্যবহৃত হয়।
উদাহরণ:
SELECT name, age
FROM employees
WHERE department_id = (SELECT id FROM departments WHERE department_name = 'HR');
এখানে একটি subquery ব্যবহার করা হয়েছে যা HR বিভাগে কর্মরত কর্মচারীদের তথ্য প্রদান করবে।
৯. SQL Query Optimization
SQL কিউরি লেখার সময়, কার্যকারিতা এবং পারফরম্যান্সের দিকে লক্ষ্য রাখা অত্যন্ত গুরুত্বপূর্ণ। কিছু টিপস:
- ইন্ডেক্স ব্যবহার করুন: যে কলামগুলোতে নিয়মিত অনুসন্ধান হয়, সেগুলোর জন্য ইন্ডেক্স তৈরি করুন।
- JOIN-এর পরিবর্তে Subqueries ব্যবহার করুন: যখন সম্ভব, JOIN এর পরিবর্তে সাবকুয়েরি ব্যবহার করুন, এটি পারফরম্যান্সে উন্নতি আনতে পারে।
উপসংহার
SQL কিউরি লেখার প্রক্রিয়া জটিল হতে পারে, তবে প্রাথমিক ধারণাগুলি এবং স্টেটমেন্টগুলি ভালোভাবে জানলে এটি সহজ হয়ে যায়। বিভিন্ন কিউরি অপারেশন যেমন SELECT, WHERE, JOIN, GROUP BY, ORDER BY ইত্যাদি জানলে, আপনি ডেটাবেসের সাথে আরও কার্যকরভাবে কাজ করতে পারবেন।
SELECT স্টেটমেন্ট SQL এর একটি গুরুত্বপূর্ণ এবং প্রাথমিক কমান্ড যা ডেটাবেস থেকে তথ্য (ডেটা) খুঁজে বের করার জন্য ব্যবহৃত হয়। একটি বেসিক SELECT কুয়েরি ডেটাবেসের একটি টেবিল থেকে সব তথ্য বা নির্দিষ্ট কলাম থেকে তথ্য নির্বাচন করতে পারে।
SELECT Query এর সাধারণ সিনট্যাক্স:
SELECT column1, column2, ...
FROM table_name;
এখানে:
- SELECT: কোন কলামগুলো আপনি দেখতে চান তা নির্দিষ্ট করে।
- FROM: ডেটা যেখান থেকে আসবে, অর্থাৎ কোন টেবিল থেকে তথ্য অনুসন্ধান করতে হবে তা উল্লেখ করে।
প্রাথমিক SELECT Query এর উদাহরণ
- সব কলাম থেকে সব তথ্য নির্বাচন করা: যদি আপনি কোনো টেবিলের সব কলাম থেকে সমস্ত তথ্য দেখতে চান, তবে
*চিহ্ন ব্যবহার করা হয়। এটি টেবিলের সব কলামকে নির্বাচন করবে।
SELECT *
FROM employees;
এখানে:
employeesহলো টেবিলের নাম।*সব কলামকে নির্বাচন করে এবং সেই টেবিলের সব রেকর্ড দেখাবে।
- নির্দিষ্ট কলাম থেকে তথ্য নির্বাচন করা: যদি আপনি টেবিলের কিছু নির্দিষ্ট কলাম দেখতে চান, তবে কলামগুলোর নাম উল্লেখ করতে হবে।
SELECT first_name, last_name
FROM employees;
এখানে:
first_name,last_nameকলামগুলি নির্বাচিত হবে এবংemployeesটেবিল থেকে তাদের তথ্য প্রদর্শিত হবে।
কিছু গুরুত্বপূর্ণ পয়েন্ট:
- SELECT কমান্ডে কোনো শর্ত (Condition) যোগ না করলে এটি টেবিলের সব রেকর্ড এবং কলাম প্রদর্শন করবে।
- টেবিলের নাম এবং কলামের নাম সঠিকভাবে লিখতে হবে, তা সঠিক কেসে হতে হবে (যেমন,
employeesটেবিলের নাম যদি সব ছোট অক্ষরে থাকে, তবে বড় অক্ষরে লেখা হলে কাজ নাও করতে পারে)। - SELECT স্টেটমেন্টের মাধ্যমে আমরা যে তথ্য চাই তা অনেকভাবে ফিল্টার বা সাজাতে পারি, যেমন
WHEREক্লজ,ORDER BY,DISTINCT, ইত্যাদি।
অধিক কাস্টমাইজেশন:
আপনি SQL Query তে শর্ত যোগ করে ফলাফল আরও সুনির্দিষ্ট করতে পারেন। উদাহরণস্বরূপ:
- WHERE Clause ব্যবহার করে তথ্য ফিল্টার করা:
SELECT first_name, last_name
FROM employees
WHERE department = 'Sales';
এখানে:
- কেবলমাত্র
Salesবিভাগের কর্মচারীদের নাম এবং পদবি প্রদর্শিত হবে।
এগুলি SQL-এ বেসিক SELECT Query লেখার মূল ধারণা।
WHERE Clause SQL-এ একটি গুরুত্বপূর্ণ কমান্ড, যা ডেটাবেস থেকে নির্দিষ্ট শর্ত অনুযায়ী ডেটা ফিল্টার বা নির্বাচন করতে ব্যবহৃত হয়। এটি সাধারণত SELECT, UPDATE, এবং DELETE স্টেটমেন্টের সাথে ব্যবহৃত হয়, যেখানে আপনি কোন বিশেষ শর্ত পূর্ণ হলে ডেটা বের করতে বা মুছে ফেলতে চান।
WHERE Clause এর মূল কাজ:
- ডেটা ফিল্টার: WHERE ক্লজ ব্যবহার করে আপনি শুধুমাত্র সেই রেকর্ডগুলো নির্বাচন করতে পারেন যা নির্দিষ্ট শর্ত পূর্ণ করে।
- শর্ত যুক্ত করা: WHERE ক্লজে বিভিন্ন ধরণের শর্ত যেমন তুলনা অপারেটর, লজিক্যাল অপারেটর, ইত্যাদি ব্যবহার করা যায়।
WHERE Clause এর সাধারণ সিনট্যাক্স:
SELECT column1, column2, ...
FROM table_name
WHERE condition;
উদাহরণ:
ধরা যাক, একটি employees টেবিল রয়েছে যেখানে কর্মচারীদের তথ্য সংরক্ষিত রয়েছে। আপনি যদি এমন কর্মচারীদের তথ্য দেখতে চান, যাদের বয়স ৩০ বছরের বেশি, তবে WHERE ক্লজ ব্যবহার করবেন।
SELECT *
FROM employees
WHERE age > 30;
এখানে age > 30 শর্তটি WHERE ক্লজে দেওয়া হয়েছে, যার ফলে কেবলমাত্র সেই কর্মচারীদের তথ্য প্রদর্শিত হবে যাদের বয়স ৩০ বছরের বেশি।
WHERE Clause এর বিভিন্ন ব্যবহার
তুলনা অপারেটর (Comparison Operators)
WHERE ক্লজে বিভিন্ন তুলনা অপারেটর ব্যবহার করা যায় যেমন=,!=,<,>,<=,>=, এবংBETWEEN।উদাহরণ ১: যদি আপনি এমন কর্মচারী দেখতে চান যাদের নাম 'John', তাহলে:
SELECT * FROM employees WHERE name = 'John';উদাহরণ ২:
যদি আপনি ২৫ থেকে ৩৫ বছরের মধ্যে কর্মচারী দেখতে চান:SELECT * FROM employees WHERE age BETWEEN 25 AND 35;লজিক্যাল অপারেটর (Logical Operators)
WHERE ক্লজে আপনি একাধিক শর্ত একত্রিত করতেAND,OR, এবংNOTলজিক্যাল অপারেটর ব্যবহার করতে পারেন।উদাহরণ ৩:
আপনি এমন কর্মচারী দেখতে চান যারা ৩০ বছরের বেশি এবং তাদের কর্মস্থল 'Marketing' বিভাগে:SELECT * FROM employees WHERE age > 30 AND department = 'Marketing';উদাহরণ ৪:
আপনি এমন কর্মচারী দেখতে চান যারা ৩০ বছরের বেশি অথবা তাদের কর্মস্থল 'Finance' বিভাগে:SELECT * FROM employees WHERE age > 30 OR department = 'Finance';Pattern Matching with LIKE
LIKEঅপারেটর ব্যবহার করে আপনি কোনও স্ট্রিং প্যাটার্নের সাথে মিলিয়ে ডেটা ফিল্টার করতে পারেন।উদাহরণ ৫:
যদি আপনি এমন কর্মচারীদের নাম দেখতে চান যা 'J' অক্ষর দিয়ে শুরু হয়:SELECT * FROM employees WHERE name LIKE 'J%';এখানে
%হল ওয়াইল্ডকার্ড, যা কোন চরিত্রের যে কোনও সংখ্যা হতে পারে। আপনি যদিJ%দেন, তবে এতে যেকোনো নাম যেটি 'J' দিয়ে শুরু হয় তা মিলবে।NULL মানের জন্য
IS NULLবাIS NOT NULLব্যবহার করে আপনি এমন ডেটা ফিল্টার করতে পারেন যেগুলির মানNULL।উদাহরণ ৬:
যদি আপনি দেখতে চান কোন কর্মচারীর বয়স জানানো হয়নি (NULL):SELECT * FROM employees WHERE age IS NULL;
WHERE Clause এর ব্যবহার ক্ষেত্রে আরও কিছু উদাহরণ:
একাধিক শর্ত ব্যবহার (Multiple Conditions)
ধরুন, আপনি এমন কর্মচারীদের নাম, বয়স এবং বিভাগ দেখতে চান যাদের বয়স ২৫ থেকে ৩৫ বছর এবং যারা 'Sales' বিভাগে কাজ করে:SELECT name, age, department FROM employees WHERE age BETWEEN 25 AND 35 AND department = 'Sales';NOT ব্যবহার
আপনি যদি এমন কর্মচারীদের দেখতে চান যাদের বয়স ২৫ বছরের কম এবং 'HR' বিভাগে না কাজ করে, তবেNOTব্যবহার করতে পারেন:SELECT * FROM employees WHERE NOT (age < 25 AND department = 'HR');
উপসংহার
WHERE Clause SQL এর একটি গুরুত্বপূর্ণ অংশ, যা ডেটাকে সুনির্দিষ্ট শর্তের ভিত্তিতে ফিল্টার বা নির্বাচন করতে ব্যবহৃত হয়। এটি ডেটাবেসে তথ্যের উপর নির্দিষ্ট মানদণ্ড প্রয়োগ করে, আপনার কুয়েরির কার্যকারিতা এবং নির্ভুলতা বৃদ্ধি করতে সহায়তা করে। WHERE ক্লজের সাথে বিভিন্ন শর্ত এবং অপারেটর ব্যবহার করে আপনি আপনার প্রয়োজনীয় ডেটা খুব সহজে বের করতে পারবেন।
ORDER BY হল SQL-এর একটি স্টেটমেন্ট, যা ডেটাবেস থেকে ডেটা পুনরুদ্ধারের সময় সেই ডেটাকে সাজানোর (Sorting) কাজ করে। ORDER BY ক্লজটি ব্যবহার করে আপনি ডেটাকে অ্যালফাবেটিক্যাল বা সংখ্যাতাত্ত্বিকভাবে সাজাতে পারেন এবং আপনি চাইলে আবধ (Ascending) বা অবধ (Descending) ভাবে ডেটা সাজানোর অপশন পাবেন।
ORDER BY এর ব্যবহার
1. Ascending Order (ASC)
Ascending Order বা ASC ব্যবহার করলে ডেটা ছোট থেকে বড় (যেমন: 1, 2, 3 বা A, B, C) সাজানো হয়। যদি আপনি ASC উল্লেখ না করেন, তবে এটি ডিফল্টভাবে Ascending Order এ সাজাবে।
উদাহরণ:
SELECT * FROM employees
ORDER BY salary ASC;
এখানে employees টেবিলের সকল রেকর্ডকে salary কলামের মান অনুসারে ছোট থেকে বড় সাজানো হবে।
2. Descending Order (DESC)
Descending Order বা DESC ব্যবহার করলে ডেটা বড় থেকে ছোট (যেমন: 9, 8, 7 বা Z, Y, X) সাজানো হয়।
উদাহরণ:
SELECT * FROM employees
ORDER BY salary DESC;
এখানে salary কলাম অনুযায়ী employees টেবিলের সকল রেকর্ড বড় থেকে ছোট সাজানো হবে।
ORDER BY ক্লজের সাথে একাধিক কলাম ব্যবহার
আপনি একাধিক কলামেও ORDER BY ব্যবহার করতে পারেন। এই ক্ষেত্রে, SQL প্রথমে প্রথম কলাম অনুসারে সাজাবে, তারপর দ্বিতীয় কলাম অনুসারে সাজাবে, এবং এভাবে চলতে থাকবে।
উদাহরণ:
SELECT * FROM employees
ORDER BY department ASC, salary DESC;
এখানে:
- প্রথমে
departmentকলাম অনুসারে ডেটা সাজানো হবে Ascending Order (A to Z)। - যদি দুই বা ততোধিক কর্মচারী একই বিভাগের মধ্যে থাকেন, তবে তাদের
salaryকলামের মান Descending Order (বড় থেকে ছোট) অনুযায়ী সাজানো হবে।
ORDER BY এর সুবিধা:
- ডেটা বিশ্লেষণ এবং প্রতিবেদন তৈরিতে সহায়তা:
ORDER BYব্যবহার করে আপনি ডেটাকে সুনির্দিষ্টভাবে সাজাতে পারেন, যেমন সর্বোচ্চ বা সর্বনিম্ন মান খুঁজে বের করা। - অভিজ্ঞ ব্যবহারকারীদের জন্য দ্রুত ডেটা পর্যালোচনা: বিশেষ করে রিপোর্ট বা ড্যাশবোর্ড তৈরি করতে গেলে ডেটাকে সাজানো গুরুত্বপূর্ণ, যাতে তথ্য দ্রুত বিশ্লেষণ করা যায়।
- উন্নত অনুসন্ধান ক্ষমতা: এটি আপনাকে ডেটা অনুসন্ধান এবং বিশ্লেষণের জন্য আরও সঠিক ফলাফল পেতে সহায়তা করে।
সাবধানতা:
- ORDER BY ব্যবহার করার সময় যদি ডেটার পরিমাণ বেশি হয়, তবে এটি কিছুটা পারফরম্যান্স ইস্যু তৈরি করতে পারে। তাই বড় ডেটাসেটের ক্ষেত্রে যথাযথ ইনডেক্সিং নিশ্চিত করা জরুরি।
- SQL Query তে
LIMITব্যবহার করলে, আপনি কতটা ডেটা দেখবেন তা নিয়ন্ত্রণ করতে পারেন।
উদাহরণ:
SELECT * FROM employees
ORDER BY salary DESC
LIMIT 10;
এখানে, salary কলামের মান অনুযায়ী employees টেবিল থেকে শীর্ষ ১০টি রেকর্ড সাজানো হবে।
ORDER BY হল একটি অত্যন্ত শক্তিশালী SQL স্টেটমেন্ট, যা ডেটাকে সঠিকভাবে সাজিয়ে বিশ্লেষণ এবং রিপোর্ট তৈরি করার প্রক্রিয়াকে সহজ করে তোলে।
DISTINCT হল একটি SQL কিওয়ার্ড যা ডুপ্লিকেট রেকর্ডগুলো বাদ দিয়ে শুধুমাত্র অন্যতম ভিন্ন (unique) মানগুলো রিটার্ন করে। এটি সাধারণত SELECT কুয়েরি ব্যবহার করার সময় ব্যবহৃত হয় যাতে ডুপ্লিকেট রেকর্ড বা ডুপ্লিকেট মানগুলো ফিল্টার করা যায় এবং শুধুমাত্র ইউনিক রেকর্ডগুলি প্রদর্শিত হয়।
DISTINCT কিভাবে কাজ করে
যখন আপনি SQL কুয়েরি ব্যবহার করেন এবং ডুপ্লিকেট মান/রেকর্ডগুলোর মধ্যে পার্থক্য করতে চান, তখন DISTINCT আপনাকে সেই ডেটার মধ্যে ইউনিক (অনন্য) মানগুলো বের করতে সহায়তা করবে। এটি মূলত একটি SELECT কুয়েরির সাথে ব্যবহার করা হয় এবং টেবিলের কলামের ভিন্ন ভিন্ন মানগুলো নির্বাচন করে।
DISTINCT এর সাধারণ সিনট্যাক্স
SELECT DISTINCT column_name
FROM table_name;
এখানে:
- column_name: সেই কলামের নাম যার জন্য আপনি ইউনিক ভ্যালু চান।
- table_name: টেবিলের নাম, যেখানে ডেটা রয়েছে।
উদাহরণ:
ধরা যাক, আমাদের একটি employees নামক টেবিল রয়েছে এবং এতে কিছু ডুপ্লিকেট department মান রয়েছে। আমরা চাই শুধু ইউনিক department মানগুলো দেখতে।
1. একক কলামে DISTINCT ব্যবহার:
SELECT DISTINCT department
FROM employees;
এই কুয়েরিটি শুধুমাত্র department কলামের ইউনিক (ভিন্ন) মানগুলো রিটার্ন করবে, ডুপ্লিকেট মান বাদ দিয়ে।
2. একাধিক কলামে DISTINCT ব্যবহার:
DISTINCT একাধিক কলামের সাথে ব্যবহার করেও একই ফলাফল পেতে পারেন। উদাহরণস্বরূপ, যদি আমরা first_name এবং department উভয় কলামের ইউনিক (অনন্য) কম্বিনেশন দেখতে চাই:
SELECT DISTINCT first_name, department
FROM employees;
এখন এই কুয়েরি first_name এবং department উভয় কলামের ইউনিক কম্বিনেশন রিটার্ন করবে, অর্থাৎ, একই first_name এবং department কম্বিনেশন দুইবার প্রদর্শিত হবে না।
DISTINCT এর সাথে ORDER BY ব্যবহার:
কখনও কখনও, আপনি ইউনিক মানগুলো সাজিয়ে দেখতে চান। এর জন্য ORDER BY ক্লজ ব্যবহার করা হয়। উদাহরণস্বরূপ, যদি আপনি department কলামের ইউনিক মানগুলো সাজাতে চান:
SELECT DISTINCT department
FROM employees
ORDER BY department;
এই কুয়েরি department কলামের ইউনিক মানগুলো অক্ষর অনুযায়ী সাজিয়ে রিটার্ন করবে।
DISTINCT এর সীমাবদ্ধতা
- পারফরম্যান্সের প্রভাব: যদি ডেটাবেসে অনেক বেশি রেকর্ড থাকে, তবে DISTINCT কুয়েরি কার্যকর করার সময় পারফরম্যান্সের উপর প্রভাব ফেলতে পারে কারণ এটি টেবিলের সব ডেটা পরীক্ষা করে দেখতে হয়।
- NULL মান: যদি কোন কলামে NULL মান থাকে, তবে তা একে অপর থেকে আলাদা হিসেবে গণ্য হয়। অর্থাৎ, একটি কলামে অনেকগুলো NULL মান থাকলেও তারা ইউনিক হিসেবে গণ্য হয় এবং কুয়েরি তাতে কোন ডুপ্লিকেট বের করবে না।
উপসংহার:
DISTINCT একটি শক্তিশালী টুল যা আপনাকে ডুপ্লিকেট ডেটা সরিয়ে দিয়ে শুধুমাত্র ইউনিক ডেটা রিটার্ন করতে সহায়তা করে। এটি সাধারণত রিপোর্ট তৈরির সময় বা ডেটাবেসে অনন্য তথ্য সংগ্রহের জন্য ব্যবহৃত হয়।
Read more