SQL যেখানে একাধিক শর্তে ক্লজ

Sql Yekhane Ekadhika Sarte Klaja



ডাটাবেস হল আধুনিক অ্যাপ্লিকেশনের একটি উল্লেখযোগ্য বিল্ডিং ব্লক। যাইহোক, ডেটাবেসগুলি প্রচুর পরিমাণে ডেটা সঞ্চয় করে। অতএব, আমাদের ডেটা ফিল্টার করার উপায় এবং শুধুমাত্র প্রয়োজনীয় রেকর্ডগুলি আনার প্রয়োজন।

এসকিউএল-এর সবচেয়ে প্রচলিত ডেটা ফিল্টারিং পদ্ধতির মধ্যে একটি হল WHERE ক্লজ ব্যবহার করা। SQL-এর WHERE ক্লজ আমাদের একটি প্রদত্ত শর্তের উপর ভিত্তি করে রেকর্ড ফিল্টার করতে দেয়। এই ধারাটি এক বা একাধিক শর্ত নির্দিষ্ট করতে পারে যা আমাদেরকে একটি SELECT বিবৃতি দ্বারা ফিরে আসা রেকর্ডগুলিকে ফিল্টার করতে দেয়৷







এই টিউটোরিয়ালটি অনুসন্ধান করে যে কিভাবে WHERE ক্লজের সাথে কাজ করতে হয় এবং একটি একক ধারায় একাধিক শর্ত উল্লেখ করে যা আরও নিয়ন্ত্রিত এবং দানাদার ডেটা ফিল্টারিংয়ের অনুমতি দেয়।



SQL যেখানে ক্লজ বেসিক

আসুন মূল বিষয়গুলি দিয়ে শুরু করি এবং SQL-এ WHERE ক্লজের সাথে কাজ করার মৌলিক বিষয়গুলি শিখি।



ধরুন আমাদের কাছে একটি সারণী আছে যা দেশের তথ্য ধারণ করে, এবং আমরা শুধুমাত্র সেই দেশগুলি নিয়ে আসি যেখানে জনসংখ্যা (প্রতি বর্গ কিমি) 100-এর বেশি এবং একটি এলাকা যা 2000000-এর বেশি।





আমরা নিম্নরূপ একটি প্রশ্ন চালাতে পারি:

নির্বাচন করুন * নমুনা_db.country_information থেকে
যেখানে এলাকা > 2,000,000 এবং জনসংখ্যা_প্রতি_কিমি_বর্গ > 100 ;


আগের উদাহরণে, আমরা দুটি শর্ত নির্দিষ্ট করতে WHERE ক্লজ এবং AND অপারেটর ব্যবহার করি। AND অপারেটর ব্যবহার করে SQL কে বলে যে ফলাফল সেটে রেকর্ড অন্তর্ভুক্ত করার জন্য উভয় শর্তই অবশ্যই পূরণ করতে হবে।



এটি কেবলমাত্র সেই দেশগুলিকে ফেরত দেবে যেগুলি নিম্নলিখিত মানদণ্ডের সাথে মেলে:


একটি WHERE ক্লজে একাধিক শর্ত উল্লেখ করার জন্য অন্য অপারেটরগুলোর দিকে তাকাই।

এসকিউএল বা অপারেটর

OR অপারেটর আমাদেরকে একটি WHERE ক্লজে একাধিক শর্ত উল্লেখ করার অনুমতি দেয়। তবুও, একটি AND অপারেটরের বিপরীতে যার জন্য সমস্ত শর্ত পূরণ করা প্রয়োজন, OR অপারেটরের কমপক্ষে একটি শর্ত পূরণ করা প্রয়োজন৷

উদাহরণস্বরূপ, 2000000-এর বেশি এলাকা বা জনসংখ্যা (প্রতি বর্গ কিমি) 100-এর বেশি এমন দেশগুলি নির্বাচন করতে, আমরা নিম্নলিখিত ক্যোয়ারীটি চালাতে পারি:

নির্বাচন করুন * নমুনা_db.country_information থেকে
যেখানে এলাকা > 2,000,000 অথবা জনসংখ্যা_প্রতি_কিমি_বর্গ > 100 ;


এই ক্ষেত্রে, ক্যোয়ারী নিম্নলিখিত হিসাবে ফলাফল ফেরত দেওয়া উচিত:

এসকিউএল ইন অপারেটর

আমরা একটি কলামের একাধিক মান নির্দিষ্ট করতে IN অপারেটর ব্যবহার করতে পারি। উদাহরণস্বরূপ, যে দেশগুলির নামের মধ্যে 'মার্কিন যুক্তরাষ্ট্র' এবং 'রাশিয়া' স্ট্রিং অন্তর্ভুক্ত রয়েছে তা নির্বাচন করতে, আমরা নিম্নোক্তভাবে ক্যোয়ারী চালাতে পারি:

নির্বাচন করুন * নমুনা_db.country_information থেকে
যেখানে দেশে ( 'যুক্তরাষ্ট্র' , 'রাশিয়া' ) ;


ফলাফল:

এসকিউএল অপারেটর নয়

NOT অপারেটর আমাদের একটি প্রদত্ত শর্ত অস্বীকার করার অনুমতি দেয়।

উদাহরণস্বরূপ, যে দেশগুলির নির্দিষ্ট এলাকা নেই এবং প্রতি বর্গ কিমি জনপ্রিয় তা নির্বাচন করুন:

নির্বাচন করুন * নমুনা_db.country_information থেকে
যেখানে নয় এলাকা > 2,000,000 এবং জনসংখ্যা_প্রতি_কিমি_বর্গ > 100 ;


ফলাফল:

এসকিউএল একাধিক অপারেটর

আমরা আরও জটিল শর্তগুলি নির্দিষ্ট করতে একাধিক অপারেটরকে একত্রিত করতে পারি।

নির্বাচন করুন * নমুনা_db.country_information থেকে
কোথায় ( দেশ_তথ্য. এলাকা > 2,000,000 এবং জনসংখ্যা_প্রতি_কিমি_বর্গ > 100 ) বা দেশ = 'চীন' ;


আউটপুট:


এই উদাহরণে, আমরা প্রথম দুটি শর্ত গোষ্ঠীবদ্ধ করতে বন্ধনী ব্যবহার করি যাতে তৃতীয় শর্তের সাথে তুলনা করার আগে তাদের একটি একক শর্ত হিসাবে মূল্যায়ন করা হয়।

উপসংহার

আমরা শিখেছি কিভাবে SQL-এ একাধিক শর্ত উল্লেখ করতে WHERE ক্লজ ব্যবহার করতে হয়। উপরন্তু, আমরা AND, OR, IN, এবং NOT অপারেটরগুলিকে কভার করেছি এবং আরও জটিল পরিস্থিতি তৈরি করতে কীভাবে তাদের একত্রিত করা যায় তা আবিষ্কার করেছি৷