উত্তর:
এ কেমন ক্ষেত্র? আইএন অপারেটরটি একটি একক ক্ষেত্রের সাথে ব্যবহার করা যাবে না, তবে এটি সাবকোয়ারিতে বা পূর্বনির্ধারিত তালিকার সাহায্যে ব্যবহৃত হতে পারে:
-- subquery
SELECT a FROM x WHERE x.b NOT IN (SELECT b FROM y);
-- predefined list
SELECT a FROM x WHERE x.b NOT IN (1, 2, 3, 6);
আপনি যদি একটি স্ট্রিং অনুসন্ধান করে থাকেন তবে LIKE অপারেটরের জন্য যান (তবে এটি ধীর হবে):
-- Finds all rows where a does not contain "text"
SELECT * FROM x WHERE x.a NOT LIKE '%text%';
আপনি যদি এটি সীমাবদ্ধ করেন যাতে আপনি যে স্ট্রিংটি অনুসন্ধান করছেন তা প্রদত্ত স্ট্রিং দিয়ে শুরু করতে হবে, এটি সূচকগুলি ব্যবহার করতে পারে (যদি সেই ক্ষেত্রের কোনও সূচক থাকে) এবং যুক্তিসঙ্গত দ্রুত হতে পারে:
-- Finds all rows where a does not start with "text"
SELECT * FROM x WHERE x.a NOT LIKE 'text%';
NOT INতবে মানগুলি কোনওরকম নাল নয় , যদি আপনি ত্রি-মূল্যবান যুক্তির সাথে পরিচিত না হন তবে কোনও মানই নাল নয় । এখানে আপনি ব্যবহার করবেন SELECT a FROM x WHERE x.b NOT IN (SELECT b FROM y WHERE b IS NOT NULL); যদি আপনারও NULL মানগুলি বাদ দিতে হয় তবে আপনাকে এটি করতে হবে:SELECT a FROM x WHERE x.b NOT IN (SELECT b FROM y WHERE b IS NOT NULL) AND x.b IS NOT NULL;
SELECT * FROM table WHERE field1 NOT LIKE '%$x%'; (এসকিউএল ইনজেকশন এড়াতে আপনি ঠিকঠাক আগে xx এড়িয়ে গেছেন তা নিশ্চিত করুন)
সম্পাদনা করুন: NOT INকিছুটা আলাদা করে - আপনার প্রশ্নটি সম্পূর্ণ পরিষ্কার নয় তাই কোনটি ব্যবহার করবেন তা বেছে নিন। LIKE 'xxx%'একটি সূচক ব্যবহার করতে পারেন। LIKE '%xxx'বা LIKE '%xxx%'পারে না