কম্পিউটার

কিভাবে আমরা MySQL সাবকোয়েরিতে কোন রেকর্ডের অস্তিত্বের জন্য পরীক্ষা করতে পারি?


সাবকোয়েরিতে একটি রেকর্ডের অস্তিত্ব পরীক্ষা করতে আমরা MySQL EXIST অপারেটর ব্যবহার করতে পারি। অন্য কথায়, আমরা বলতে পারি যে EXIST অপারেটর একটি সাবকোয়েরি কোনো সারি প্রদান করে কিনা তা পরীক্ষা করে। MySQL সাবকোয়েরির সাথে EXIST অপারেটর ব্যবহার করার সিনট্যাক্স নিম্নরূপ -

সিনট্যাক্স

যেখানে বিদ্যমান (সাবকোয়ারি)

উপরের EXIST (subquery) এক্সপ্রেশনটি TRUE প্রদান করে যদি সাবকোয়েরি কমপক্ষে একটি সারি প্রদান করে, অন্যথায় এটি মিথ্যা প্রদান করে।

উদাহরণ

এটি বোঝার জন্য আমরা নিম্নলিখিত টেবিল থেকে ডেটা ব্যবহার করছি -

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> যেখানে বিদ্যমান গ্রাহকদের থেকে নাম নির্বাচন করুন (নির্বাচন করুন * রিজার্ভেশন থেকে যেখানে Customers.customer_id =Reservations.customer_id);+---------+| নাম |+---------+| রাহুল || যশপাল || গৌরব |+---------+3 সারি সেটে (0.06 সেকেন্ড)

উপরের প্রশ্নটি গ্রাহকদের নাম দেয় যারা একটি রিজার্ভেশন করেছেন৷


  1. আমরা কিভাবে একটি MySQL ভিউ এর সংজ্ঞা পেতে পারি যেমন আমরা একটি MySQL টেবিলের সংজ্ঞা পেতে পারি?

  2. কিভাবে আমি MySQL এ NULL এর জন্য 0 ফেরত দিতে পারি?

  3. কিভাবে আমি মাইএসকিউএল-এ দিনের সংখ্যা গণনা করতে পারি?

  4. MySQL-এ একটি রেকর্ডের অস্তিত্ব পরীক্ষা করতে WHEN ক্লজের সাথে CASE স্টেটমেন্ট প্রয়োগ করুন