কম্পিউটার টিউটোরিয়াল

MySQL-এ WHERE IS NOT NULL দিয়ে নির্দিষ্ট নামের জন্য NULL নয় এমন ID বের করা


IS NOT NULL শর্ত দিয়ে NULL বাদ দিয়ে নির্দিষ্ট রো খুঁজা

MySQL-এ কোনো কলামে NULL মান থাকতে পারে। নির্দিষ্ট নামের জন্য যেসব রোতে ID NULL নয়, সেগুলো বের করতে IS NOT NULL শর্ত ব্যবহার করা হয়।

টেবিল ও ডেটা

mysql> CREATE TABLE DemoTable (StudentId INT, StudentName VARCHAR(100));
mysql> INSERT INTO DemoTable VALUES(NULL,'Chris'), (NULL,'Robert'), (101,'David'), (102,'Mike'), (103,'Sam');

সব রেকর্ড

+-----------+-------------+
| StudentId | StudentName |
+-----------+-------------+
| NULL      | Chris       |
| NULL      | Robert      |
| 101       | David       |
| 102       | Mike        |
| 103       | Sam         |
+-----------+-------------+

কোয়েরি: 'David' নামের জন্য NULL নয় এমন ID

mysql> SELECT StudentId FROM DemoTable WHERE StudentName = 'David' AND StudentId IS NOT NULL;
+-----------+
| StudentId |
+-----------+
| 101       |
+-----------+

ব্যাখ্যা

  • StudentName = 'David' — নাম ফিল্টার।
  • StudentId IS NOT NULL — ID NULL নয় এমন রোকে রাখে।
  • = NULL লিখলে কাজ করবে না (NULL = NULL হলো UNKNOWN), সবসময় IS NULL / IS NOT NULL ব্যবহার করুন।

নোট

যদি একই নামে একাধিক রো থাকে এবং সবই NULL নয়, তবে সবগুলো রিটার্ন হবে। LIMIT 1 দিয়ে একটিই নেওয়া যায়।

  1. MySQL-এ SELECT ... INTO @variable ব্যবহার করে নির্দিষ্ট রো থেকে একক মান বের করা

  2. MySQL-এ GROUP_CONCAT() এবং SUM() দিয়ে একাধিক সারির স্ট্রিং কম্বাইন এবং আইডি যোগফল করা

  3. MySQL-এ DISTINCT ব্যবহার করে ডুপ্লিকেট রো থেকে শুধু একটি রো দেখানো

  4. MySQL-এ IS NULL ব্যবহার করে সিঙ্গেল রোতে NULL ভ্যালু চেক করা