SQL Server (Transact-SQL)-এ IN কন্ডিশন SELECT, INSERT, UPDATE বা DELETE স্টেটমেন্টে অতিরিক্ত OR কন্ডিশন ব্যবহারের প্রয়োজন কমাতে ব্যবহৃত হয়।
IN কন্ডিশন সিনট্যাক্স
bieu_thuc IN (giatri1, giatri2, … giatri_n);
ভেরিয়েবল নাম বা মান
bieu_thuc
চেক করার মান।
giatri1, giatri2, ... giatri_n
bieu_thuc-এর সাথে চেক করার মান গুলো।
নোট
- SQL Server-এ IN কন্ডিশন রেকর্ড রিটার্ন করবে যখন bieu_thuc-র মান giatri1, giatri2, ... বা giatri_n-এর সাথে মেলে।
- SQL Server-এ IN কন্ডিশনকে IN অপারেটর ও বলা হয়।
উদাহরণ - স্ট্রিং মান সহ
SELECT *
FROM nhanvien
WHERE ho IN ('Smith', 'Anderson', 'Johnson');
ফলাফল হবে টেবিল থেকে সেই সারিগুলো যেখানে কর্মচারীর উপনাম Smith, Anderson বা Johnson। SELECT-এ * ব্যবহার করলে টেবিলের সব ফিল্ড রেজাল্ট সেটে থাকবে।
উপরের উদাহরণ নিচের SELECT কমান্ডের সমতুল্য।
SELECT * FROM nhanvien WHERE ho = 'Smith' OR ho = 'Anderson' OR ho = 'Johnson';
IN কন্ডিশন ব্যবহার করলে কমান্ড ছোট এবং বোঝা সহজ হয়।
উদাহরণ - সংখ্যাসূচক মান সহ
SELECT * FROM nhanvien WHERE nhanvien_id IN (1, 2, 3, 4, 10);
ফেরত দেওয়া ফলাফল হলো আইডি ১, ২, ৩, ৪ বা ১০ वाले কর্মচারী। উপরের কমান্ড নিচের কমান্ডের সমতুল্য।
SELECT * FROM nhanvien WHERE nhanvien_id = 1 OR nhanvien_id = 2 OR nhanvien_id = 3 OR nhanvien_id = 4 OR nhanvien_id = 10;
উদাহরণ - NOT অপারেটর ব্যবহার করে
SELECT *
FROM nhanvien
WHERE ten NOT IN ('Sarah', 'John', 'Dale');
উপরের উদাহরণে, রেজাল্ট সেট হবে টেবিল থেকে সেই সারিগুলো যার কর্মচারীর নাম Sarah, John বা Dale নয়। কখনো কখনো আপনি যা খুঁজছেন না সেই মান গুলো বাদ দিয়ে খুঁজা সহজ হয়। উপরের উদাহরণ নিচের কমান্ডের সমতুল্য।
SELECT * FROM nhanvien WHERE ten <> 'Sarah' AND ten <> 'John' AND ten <> 'Dale';