WHERE ক্লজ SQL কুয়েরিতে ডেটা ফিল্টার করতে ব্যবহৃত হয়। এটি বিশেষ শর্তের অধীনে ডেটা নির্বাচন করার জন্য ব্যবহৃত হয়। WHERE ক্লজের মাধ্যমে আপনি ডেটাবেসের টেবিল থেকে নির্দিষ্ট শর্তের উপর ভিত্তি করে রেকর্ড নির্বাচন করতে পারেন।
WHERE ক্লজ সাধারণত SELECT, UPDATE, DELETE ইত্যাদি SQL কুয়েরি কমান্ডের সাথে ব্যবহার করা হয়।
1. একটি শর্তে ডেটা Filtering (Simple Filtering)
আপনি যদি একটি নির্দিষ্ট শর্ত অনুসারে ডেটা দেখতে চান, তবে WHERE ক্লজ ব্যবহার করে এটি করতে পারেন।
উদাহরণ:
SELECT * FROM users WHERE age > 30;
এই কুয়েরি users টেবিল থেকে সব রেকর্ড নির্বাচন করবে যেগুলোর age 30 এর বেশি।
2. একাধিক শর্তে ডেটা Filtering (Using AND/OR)
আপনি একাধিক শর্ত যোগ করতে AND বা OR ব্যবহার করতে পারেন।
a. AND ব্যবহার করে Filtering
যখন দুটি বা ততোধিক শর্ত পূর্ণ হলে ডেটা নির্বাচিত করতে হয় তখন AND ব্যবহার করা হয়।
উদাহরণ:
SELECT * FROM users WHERE age > 25 AND status = 'active';
এই কুয়েরি users টেবিল থেকে সেই রেকর্ডগুলো নির্বাচন করবে যেগুলোর age 25 এর বেশি এবং status 'active'।
b. OR ব্যবহার করে Filtering
যখন একটি শর্ত বা অন্য শর্ত পূর্ণ হলেই ডেটা নির্বাচন করতে হয়, তখন OR ব্যবহার করা হয়।
উদাহরণ:
SELECT * FROM users WHERE age < 20 OR status = 'inactive';
এই কুয়েরি users টেবিল থেকে সেই রেকর্ডগুলো নির্বাচন করবে যেগুলোর age 20 এর কম অথবা status 'inactive'।
3. শর্তে বিভিন্ন অপারেটর ব্যবহার (Using Comparison Operators)
WHERE ক্লজে আপনি বিভিন্ন comparison operators ব্যবহার করতে পারেন, যেমন =, >, <, >=, <=, <> (বা !=), এবং BETWEEN ইত্যাদি।
a. Equal to (=) অপারেটর
এই অপারেটর দিয়ে নির্দিষ্ট মানের সাথে মেলানো হয়।
উদাহরণ:
SELECT * FROM users WHERE status = 'active';
এই কুয়েরি users টেবিল থেকে শুধুমাত্র 'active' স্ট্যাটাসের রেকর্ড নির্বাচন করবে।
b. Greater than (>) / Less than (<) অপারেটর
এই অপারেটর দিয়ে নির্দিষ্ট মানের চেয়ে বড় বা ছোট মান নির্বাচন করা হয়।
উদাহরণ:
SELECT * FROM users WHERE age > 30;
এই কুয়েরি users টেবিল থেকে 30 এর বেশি বয়সের সব রেকর্ড নির্বাচন করবে।
c. NOT Equal to (<>) অপারেটর
এই অপারেটর দিয়ে নির্দিষ্ট মানের সমান নয় এমন রেকর্ড নির্বাচন করা হয়।
উদাহরণ:
SELECT * FROM users WHERE status <> 'inactive';
এই কুয়েরি users টেবিল থেকে status 'inactive' না এমন সব রেকর্ড নির্বাচন করবে।
d. BETWEEN অপারেটর
এই অপারেটর দিয়ে একটি নির্দিষ্ট রেঞ্জের মধ্যে ডেটা নির্বাচন করা হয়।
উদাহরণ:
SELECT * FROM users WHERE age BETWEEN 20 AND 30;
এই কুয়েরি users টেবিল থেকে এমন রেকর্ড নির্বাচন করবে যেখানে age 20 এবং 30 এর মধ্যে।
e. IN অপারেটর
এই অপারেটর দিয়ে নির্দিষ্ট মানের তালিকার মধ্যে থাকা রেকর্ড নির্বাচন করা হয়।
উদাহরণ:
SELECT * FROM users WHERE status IN ('active', 'pending');
এই কুয়েরি users টেবিল থেকে status 'active' অথবা 'pending' এর মানযুক্ত সব রেকর্ড নির্বাচন করবে।
4. LIKE অপারেটর দিয়ে Pattern Matching
আপনি LIKE অপারেটর দিয়ে টেক্সট ডেটা ফিল্টার করতে পারেন, যা কিছু বিশেষ প্যাটার্নের সাথে মেলে।
a. % চিহ্ন ব্যবহার
যতটুকু চরিত্র আগে বা পরে থাকতে পারে, তা নির্ধারণ করতে % চিহ্ন ব্যবহার করা হয়।
উদাহরণ:
SELECT * FROM users WHERE name LIKE 'John%';
এই কুয়েরি users টেবিল থেকে সেই রেকর্ডগুলো নির্বাচন করবে যার name কলামের মান 'John' দিয়ে শুরু হয়।
b. _ চিহ্ন ব্যবহার
একটি একক অক্ষর মিলানোর জন্য _ চিহ্ন ব্যবহার করা হয়।
উদাহরণ:
SELECT * FROM users WHERE name LIKE 'J_hn';
এই কুয়েরি users টেবিল থেকে সেই রেকর্ডগুলো নির্বাচন করবে যার name কলামের মান 'J' এবং 'h' দিয়ে মাঝখানে একটি অক্ষর (যেমন 'ohn') থাকে।
5. NULL মান ফিল্টার করা (Filtering NULL values)
আপনি IS NULL অথবা IS NOT NULL অপারেটর ব্যবহার করে NULL মান ফিল্টার করতে পারেন।
a. IS NULL
এটি সেই রেকর্ডগুলো নির্বাচন করবে যেগুলোর মান NULL।
উদাহরণ:
SELECT * FROM users WHERE email IS NULL;
এই কুয়েরি users টেবিল থেকে সেই রেকর্ডগুলো নির্বাচন করবে যেগুলোর email কলামের মান NULL।
b. IS NOT NULL
এটি সেই রেকর্ডগুলো নির্বাচন করবে যেগুলোর মান NULL নয়।
উদাহরণ:
SELECT * FROM users WHERE email IS NOT NULL;
এই কুয়েরি users টেবিল থেকে সেই রেকর্ডগুলো নির্বাচন করবে যেগুলোর email কলামের মান NULL নয়।
সারাংশ
WHERE ক্লজ PostgreSQL এবং অন্যান্য SQL ডেটাবেস সিস্টেমে ডেটা ফিল্টার করার জন্য একটি গুরুত্বপূর্ণ টুল। এটি শর্ত (conditions) প্রয়োগ করে নির্দিষ্ট ডেটা নির্বাচন করতে সহায়তা করে। আপনি AND, OR, BETWEEN, LIKE, IN, IS NULL, এবং বিভিন্ন comparison operators ব্যবহার করে ডেটার উপর শর্ত প্রয়োগ করতে পারেন। WHERE ক্লজের মাধ্যমে আপনি আরও নিখুঁতভাবে ডেটা নির্বাচন করতে পারেন যা আপনার প্রয়োজন অনুযায়ী নির্দিষ্ট শর্তের সাথে মেলে।
Read more