কম্পিউটার

SELECT স্টেটমেন্ট ব্যবহার করে MySQL-এ নাল মান প্রতিস্থাপন করার পার্থক্য কি কি?


নির্বাচিত বিবৃতি ব্যবহার করে NULL মান প্রতিস্থাপন করার জন্য প্রচুর বিকল্প উপলব্ধ রয়েছে৷ আপনি CASE স্টেটমেন্ট বা IFNULL() বা COALESCE()

ব্যবহার করতে পারেন

কেস 1 - IFNULL()

ব্যবহার করে

IFNULL() এর সিনট্যাক্স নিম্নরূপ -

yourTableName থেকে IFNULL(yourColumnName,’yourValue’) যেকোন পরিবর্তনশীল নাম হিসেবে নির্বাচন করুন;

কেস 2 - COALESCE()

ব্যবহার করে

COALESCE() এর সিনট্যাক্স নিম্নরূপ -

yourTableName থেকে COALESCE(yourColumnName,’yourValue’) যেকোন পরিবর্তনশীল নাম হিসেবে নির্বাচন করুন;

কেস 3 - CASE স্টেটমেন্ট ব্যবহার করে

CASE স্টেটমেন্টের সিনট্যাক্স।

যখন আপনার কলামের নামটি শূন্য থাকে তখন নির্বাচন করুন তারপর ‘yourValue’ অন্যথায় আপনার টেবলনাম থেকে যেকোনো পরিবর্তনশীল নাম হিসাবে আপনার কলামের নাম শেষ করুন

আমরা উপরে কী আলোচনা করেছি তা বোঝার জন্য, আসুন একটি টেবিল তৈরি করি। একটি টেবিল তৈরি করার প্রশ্নটি নিম্নরূপ -

mysql> টেবিল তৈরি করুন ReplaceNULLDemo -> ( -> Id int NOT NULL AUTO_INCREMENT, -> Name varchar(10), -> Marks int, -> PRIMARY KEY(Id) -> );কোয়েরি ঠিক আছে, 0 সারি প্রভাবিত ( 0.62 সেকেন্ড)

insert কমান্ড ব্যবহার করে টেবিলে কিছু রেকর্ড সন্নিবেশ করান। প্রশ্নটি নিম্নরূপ -

mysql> ReplaceNULLDemo(Name,Marks) মান ('Larry',90); কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.16 সেকেন্ড)mysql> ReplaceNULLDemo(নাম,মার্কস) মানগুলিতে সন্নিবেশ করুন('ক্যারল',শূন্য);কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.17 সেকেন্ড)mysql> ReplaceNULLDemo(Name,Marks) মান ('David',NULL); কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.14 সেকেন্ড)mysql> ReplaceNULLDemo(নাম,মার্কস) এ ঢোকান মান('বব',67);ক্যোয়ারী ঠিক আছে, 1 সারি প্রভাবিত (0.17 সেকেন্ড)mysql> রিপ্লেসNULLDemo(নাম, মার্কস) মান ('স্যাম',78); কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.19 সেকেন্ড) mysql> ReplaceNULLDemo(Name,Marks) মান ('Mike',NULL); কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.19 সেকেন্ড)mysql> ঢোকান ReplaceNULLDemo(নাম,মার্কস) মান ('জন',98); কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.16 সেকেন্ড)

সিলেক্ট স্টেটমেন্ট ব্যবহার করে টেবিল থেকে সমস্ত রেকর্ড প্রদর্শন করুন। প্রশ্নটি নিম্নরূপ -

mysql> ReplaceNULLDemo থেকে *নির্বাচন করুন;

নিচের আউটপুট −

<প্রে>+------+------+------+| আইডি | নাম | মার্কস |+----+-------+------+| 1 | ল্যারি | 90 || 2 | ক্যারল | NULL || 3 | ডেভিড | NULL || 4 | বব | 67 || 5 | স্যাম | 78 || 6 | মাইক | NULL || 7 | জন | 98 |+----+-------+------+7 সারি সেটে (0.00 সেকেন্ড)

এখন NULL মানকে 0 এ রূপান্তর করা যাক।

কেস 1 - IFNULL()

ব্যবহার করে

প্রশ্নটি নিম্নরূপ -

mysql> ReplaceNULLDemo থেকে ReplacementOfNULLWith0 হিসাবে ifnull(Marks,0) নির্বাচন করুন;

নিচের আউটপুটটি 0 −

দিয়ে প্রতিস্থাপিত NULL প্রদর্শন করছে <প্রে>+------------+| ReplacementOfNULLWith0 |+-------------------------+| 90 || 0 || 0 || 67 || 78 || 0 || 98 |+------------------------- +7 সারি সেটে (0.00 সেকেন্ড)

কেস 2 - COALESCE()

ব্যবহার করে

প্রশ্নটি নিম্নরূপ -

mysql> ReplaceNULLDemo থেকে ReplacementOfNULLWith0 হিসাবে সমন্বিত (মার্কস,0) নির্বাচন করুন;

নিচের আউটপুটটি 0 −

দিয়ে প্রতিস্থাপিত NULL প্রদর্শন করছে <প্রে>+------------+| ReplacementOfNULLWith0 |+-------------------------+| 90 || 0 || 0 || 67 || 78 || 0 || 98 |+------------------------- +7 সারি সেটে (0.00 সেকেন্ড)

কেস 3 - CASE স্টেটমেন্ট ব্যবহার করে।

প্রশ্নটি নিম্নরূপ -

mysql> কেস নির্বাচন করুন -> যখন মার্ক শূন্য হয় তখন 0 -> অন্যথা ReplaceNULLDemo থেকে ReplacementOfNULLWith0 -> হিসাবে চিহ্ন শেষ হয়;

নিচের আউটপুটটি 0 −

দিয়ে প্রতিস্থাপিত NULL প্রদর্শন করছে <প্রে>+------------+| ReplacementOfNULLWith0 |+-------------------------+| 90 || 0 || 0 || 67 || 78 || 0 || 98 |+------------------------- +7 সারি সেটে (0.00 সেকেন্ড)
  1. MySQL ক্যোয়ারী টেবিল থেকে শুধুমাত্র NULL মান প্রতিস্থাপন করতে?

  2. MySQL-এ MAX(distinct…) কিভাবে প্রয়োগ করবেন এবং DISTINCT ব্যবহার না করে পার্থক্য কি?

  3. একই MySQL SELECT স্টেটমেন্টের ভিতরে একটি উপনামের মান ব্যবহার করা

  4. MySQL এ!=NULL এবং IS NOT NULL এর মধ্যে পার্থক্য কি?