কম্পিউটার

মাইএসকিউএল স্কেলার সাবকোয়েরি দ্বারা কি ধরনের আউটপুট ফেরত দেওয়া হয়? মাইএসকিউএল কোয়েরির সাথে এটি ব্যবহার করার বিধিনিষেধ কি?


MySQL স্কেলার সাবকোয়েরি একটি সারি থেকে ঠিক একটি কলামের মান প্রদান করে এবং আমরা এটি ব্যবহার করতে পারি যেখানে একটি একক কলাম অনুমোদিত৷ নিম্নলিখিত ক্ষেত্রেগুলি হল যখন স্কেলার সাবকোয়েরিগুলি একটি সারি −

ছাড়া অন্য মান প্রদান করে

কেস1 − যখন এটি 0 সারি প্রদান করে

যদি সাবকোয়েরি 0 সারি দেয় তাহলে স্কেলার সাবকোয়েরি এক্সপ্রেশনের মান হবে NULL৷

কেস2 − যখন এটি একাধিক সারি দেয়

যদি সাবকোয়েরি একাধিক সারি রিটার্ন করে তাহলে, স্কেলার সাবকোয়েরির বৈশিষ্ট্যের কারণে, MySQL একটি ত্রুটি ফেরত দেয়।

এটি একটি উদাহরণের সাহায্যে বোঝা যায় যা নিম্নলিখিত টেবিলের ডেটা ব্যবহার করে -

mysql> গ্রাহকদের থেকে * নির্বাচন করুন;+-------------+----------+| গ্রাহক_আইডি | নাম |+------------+---------+| 1 | রাহুল || 2 | যশপাল || 3 | গৌরব || 4 | বীরেন্ডার |+------------+------------ সেটে 4 সারি (0.00 সেকেন্ড) mysql> সংরক্ষণ থেকে * নির্বাচন করুন;+------ +---------------+------------+| আইডি | গ্রাহক_আইডি | দিন |+------+-------------+------------+| 1 | 1 | 2017-12-30 || 2 | 2 | 2017-12-28 || 3 | 2 | 2017-12-29 || 4 | 1 | 2017-12-25 || 5 | 3 | 2017-12-26 |+------+------------+------------+5 সারি সেটে (0.00 সেকেন্ড) 

এখন, নিম্নলিখিত ক্যোয়ারীটি একটি সারির জন্য ঠিক একটি কলামের মান প্রদান করবে −

mysql> গ্রাহকদের থেকে নাম নির্বাচন করুন WHERE customer_id =(রিজার্ভেশন থেকে Customer_id নির্বাচন করুন যেখানে id =3);+---------+| নাম |+---------+| যশপাল |+---------+1 সারি সেটে (0.00 সেকেন্ড)

এখন, ধরুন যদি সাবকোয়েরি 0 সারি দেয় তাহলে এর মানে হল স্কেলার সাবকোয়েরি এক্সপ্রেশনের মান NULL। এটি নিম্নলিখিত ক্যোয়ারীতে দেখানো হয়েছে -

mysql> গ্রাহকদের থেকে নাম নির্বাচন করুন WHERE customer_id =(রিজার্ভেশন থেকে Customer_id নির্বাচন করুন যেখানে id =10); খালি সেট (0.00 সেকেন্ড)

আমরা উপরের ফলাফল সেট থেকে দেখতে পাচ্ছি যে MySQL খালি সেট যেমন 0 সারি প্রদান করে কারণ স্কেলার সাবকোয়েরি এক্সপ্রেশনের মান যদি NULL হয় (কোনও আইডি যা 10 এর সমান নয়)।

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


  1. MySQL ক্যোয়ারীতে <> এর অর্থ কি?

  2. MySQL ক্যোয়ারী ব্যবহার করে 'a' বা 'b' বা 'c' অক্ষর দিয়ে শুরু হওয়া সমস্ত নাম খুঁজুন?

  3. জাভা JDBC ব্যবহার করে MySQL এর বিরুদ্ধে "গণনা" প্রশ্নের রিটার্ন টাইপ কি?

  4. MySQL-এ LIKE ব্যবহার করে একটি নির্দিষ্ট অক্ষর দিয়ে নাম শুরু করুন