এসকিউএল-এ, আমরা একটি ডাটাবেস টেবিল থেকে ফলাফলগুলি ফিল্টার করতে IS NOT NULL অপারেটর ব্যবহার করতে পারি যেখানে একটি নির্দিষ্ট কলামের মান নাল নয়। এটি নিশ্চিত করতে সাহায্য করতে পারে যে আপনি একটি পরিষ্কার ডেটা পান যাতে কোনও অনুপস্থিত মান থাকে না যা বিশেষত শূন্য মানগুলি পরিচালনা করে না এমন ফাংশনগুলিতে সমস্যা সৃষ্টি করতে পারে।
একটি NULL মান বলতে ডেটার অনুপস্থিতিকে বোঝায় যা খালি স্ট্রিং, সংখ্যাসূচক শূন্য বা NaN অন্তর্ভুক্ত করে না।
এই টিউটোরিয়ালে, আমরা শিখব কিভাবে আমরা IS NOT NULL অপারেটর ব্যবহার করে একটি প্রদত্ত ক্যোয়ারীতে NULL মান ধারণকারী ফলাফলগুলিকে ফিল্টার করতে পারি।
বাক্য গঠন:
নিম্নলিখিত কোড স্নিপেটে দেখানো হিসাবে আমরা IS NOT NULL অবস্থার মৌলিক সিনট্যাক্স প্রকাশ করতে পারি:
কলাম 1, কলাম 2, ... নির্বাচন করুন
টেবিল_নাম থেকে
যেখানে কলাম_নামটি শূন্য নয়;
আমরা 'নির্বাচন' কীওয়ার্ড দিয়ে শুরু করি এবং ফলাফল সেটে যে কলামগুলি আমরা পুনরুদ্ধার করতে চাই তার পরে যে টেবিল থেকে আমরা ডেটা আনতে চাই তার নামটি নির্দিষ্ট করি।
এর পরে, আমরা একটি নির্দিষ্ট কলামের উপর ভিত্তি করে ডেটা ফিল্টারিং চালু করতে WHERE ক্লজটি ব্যবহার করি। অবশেষে, আমরা যে শর্তে ফিল্টার করতে চাই তা নির্দিষ্ট করি।
উদাহরণ 1:
আসুন আমরা ফলাফলগুলি ফিল্টার করতে IS NOT NULL শর্তটি কীভাবে ব্যবহার করতে পারি তার কিছু উদাহরণ দেখি।
সাকিলা নমুনা ডাটাবেসটি বিবেচনা করুন যা অফিসিয়াল MySQL পৃষ্ঠায় ডাউনলোডের জন্য বিনামূল্যে পাওয়া যায়।
ধরুন আমরা সেই গ্রাহকদের নাম পুনরুদ্ধার করতে চাই যাদের 'last_name' null এর সমান নয়। আমরা এটি সম্পন্ন করার জন্য নিম্নলিখিত হিসাবে দেখানো ক্যোয়ারী ব্যবহার করতে পারেন:
নির্বাচন করুন*
থেকে
গ্রাহক গ
কোথায়
শেষ_নামটি শূন্য নয়;
এই ক্ষেত্রে, ক্যোয়ারী গ্রাহক টেবিল থেকে সমস্ত সারি ফেরত দেয় যেখানে 'last_name' কলামের মান শূন্য হয় না।
উদাহরণ 2: AND এবং OR অপারেটর৷
আমরা AND এবং OR অপারেটর ব্যবহার করে IS NOT NULL শর্তকে অন্যান্য শর্তের সাথে একত্রিত করতে পারি। এটি আরও দানাদার ফিল্টারিং তৈরি করে।
উদাহরণস্বরূপ, ধরুন আমরা সেই গ্রাহকদের পুনরুদ্ধার করতে চাই যাদের 'শেষ_নাম' শূন্য নয় এবং যাদের প্রথম নাম ন্যান্সি বা হলি।
নিম্নলিখিত হিসাবে প্রদর্শিত হিসাবে আমরা একটি প্রশ্ন ব্যবহার করতে পারেন:
নির্বাচন করুনcustomer_id,
নামের প্রথম অংশ,
নামের শেষাংশ,
ইমেইল
থেকে
ক্রেতা
কোথায়
শেষ_নামটি শূন্য নয়
এবং ( প্রথম_নাম = 'ন্যান্সি'
বা প্রথম_নাম = 'হলি' ) ;
এই ক্যোয়ারীতে, আমরা AND এবং OR অপারেটরগুলির সাথে IS NOT NULL শর্তটি একত্রিত করছি যেখানে শেষ নামটি শূন্য নয় বা প্রথম নামটি ন্যান্সি বা হলির সমান।
ফলস্বরূপ আউটপুট নিম্নরূপ:
আপনি দেখতে পাচ্ছেন, এটি লক্ষ্য ডেটাতে আরও দানাদার এবং ক্ষুদ্রতর ফিল্টারিং সম্পাদন করার একটি উপায় প্রদান করে।
উদাহরণ 3: সমষ্টিগত ফাংশন ব্যবহার করা
আমরা এসকিউএল এগ্রিগেট ফাংশনের সাথে IS NOT NULL ফাংশনটিও ব্যবহার করতে পারি। উদাহরণস্বরূপ, আমরা একটি প্রদত্ত কলামে নন-নাল মানের সংখ্যা গণনা করতে count() ফাংশনের সাথে এটি ব্যবহার করতে পারি।
উদাহরণস্বরূপ, ধরুন আমরা নন-নাল ইমেল ঠিকানা সহ গ্রাহকের সংখ্যা নির্ধারণ করতে চাই। আমরা নিম্নলিখিত হিসাবে ক্যোয়ারী ব্যবহার করতে পারেন:
নির্বাচন করুনCOUNT ( customer_id ) মোট AS
থেকে
ক্রেতা
কোথায়
ইমেল শূন্য নয়;
এটি নিম্নরূপ একটি সংখ্যাসূচক মান হিসাবে কলামে নন-নাল মানের সংখ্যা ফেরত দেবে:
-----+
599 |
উপসংহার
এই টিউটোরিয়ালে, আমরা প্রদত্ত ফলাফল সেট বা ডাটাবেস টেবিল থেকে নাল মানগুলি ফিল্টার করার জন্য এসকিউএল-এর IS NOT NULL অবস্থা সম্পর্কে সমস্ত কিছু শিখেছি। আমরা আরও শিখেছি কিভাবে আমরা AND এবং OR অপারেটর ব্যবহার করে IS NOT NULL কন্ডিশনকে অন্যান্য শর্তের সাথে একত্রিত করে আরও জটিল ফিল্টারিং তৈরি করতে পারি।