কম্পিউটার

একটি মাইএসকিউএল টেবিল থেকে রেকর্ড খুঁজুন যা অন্যটিতে বিদ্যমান নেই?


একটি মাইএসকিউএল টেবিল থেকে রেকর্ডগুলি খুঁজে পেতে যা অন্য টেবিলে বিদ্যমান নেই আমরা সেই টেবিলের জন্য সাবকুয়েরি ব্যবহার করতে পারি যার রেকর্ড নেই। প্রদত্ত পদক্ষেপগুলি ব্যবহার করে এটি আরও ভালভাবে বোঝা যায় -

প্রথমে create কমান্ড ব্যবহার করে একটি টেবিল তৈরি করা হয়। টেবিলের নাম 'প্রেজেন্ট হিস্ট্রি' এবং এতে দুটি কলাম রয়েছে। এটি নিম্নরূপ দেওয়া হয় -

mysql> টেবিল তৈরি করুন PresentHistory-> (-> HisID int,-> HisName varchar(100)-> );কোয়েরি ঠিক আছে, 0 সারি প্রভাবিত (0.54 সেকেন্ড)

টেবিল তৈরি করার পরে, কিছু রেকর্ড সন্নিবেশ করা হয় যা দ্বিতীয় টেবিলেও উপস্থিত থাকবে। এটি নিম্নরূপ −

সন্নিবেশ কমান্ডের সাহায্যে করা হয়
mysql> PresentHistory মানের মধ্যে ঢোকান )

রেকর্ডগুলি সফলভাবে সন্নিবেশ করার পরে, সেগুলি নিম্নরূপ −

নির্বাচন বিবৃতি সহ প্রদর্শিত হয় PresentHistory থেকে
mysql> SELECT *;

উপরের ক্যোয়ারীটি কার্যকর করার পরে, প্রাপ্ত আউটপুট হল।

<প্রে>+------+---------+| HisID | তার নাম |+-------+---------+| 1 | জন || 2 | বব |+------+---------+2 সারি সেটে (0.00 সেকেন্ড)

এখন, create কমান্ড ব্যবহার করে একটি দ্বিতীয় টেবিল তৈরি করা হয়েছে। এই সারণীটির নাম 'পাস্টহিস্টোরি' এবং নিচের মতো দুটি কলাম রয়েছে৷

mysql> টেবিল তৈরি করুন PastHistory-> (-> PastId int,-> PastName varchar(100)-> );কোয়েরি ঠিক আছে, 0 সারি প্রভাবিত (0.74 সেকেন্ড)

টেবিল তৈরি করার পরে, কিছু রেকর্ড যা প্রথম টেবিলে উপস্থিত থাকে এবং কিছু রেকর্ড যা প্রথম টেবিলে উপস্থিত নেই তা PastHistory টেবিলে ঢোকানো হয়৷

mysql> PastHistory মানের মধ্যে ঢোকান )mysql> PastHistory মানের মধ্যে ঢোকান /প্রে> 

এখন, দ্বিতীয় টেবিলে 4টি রেকর্ড রয়েছে। এর মধ্যে, 2টি রেকর্ড প্রথম টেবিলের এবং 2টি রেকর্ড দ্বিতীয় টেবিল থেকে আলাদা৷

দ্বিতীয় সারণীর রেকর্ডগুলিকে নিম্নরূপ −

নির্বাচন বিবৃতির সাহায্যে দেখা হয় PastHistory থেকে
mysql> SELECT *;

উপরের ক্যোয়ারীটির আউটপুট হল

<প্রে>+---------+---------+| অতীত আইডি | অতীত নাম |+---------+---------+| 1 | জন || 2 | বব || 3 | ক্যারল || 4 | জেসন |+---------+---------+4টি সারি সেটে (0.00 সেকেন্ড)

একটি টেবিল থেকে রেকর্ড চেক করার জন্য সিনট্যাক্স যা দ্বিতীয় টেবিলে বিদ্যমান নেই তা নিম্নরূপ দেওয়া হয়েছে −

YourSecondTableName থেকে * সিলেক্ট করুন যেখানে columnNamefromSecondtable NOT IN(select columnNamefromfirsttable from yourFirstTableName);

প্রদত্ত ক্যোয়ারীটি রেকর্ডগুলি পেতে ব্যবহৃত হয় যা দ্বিতীয় টেবিলে স্বতন্ত্র −

mysql> PastHistory থেকে * নির্বাচন করুন যেখানে PastName নেই (PresentHistory থেকে HisName নির্বাচন করুন);

উপরের ক্যোয়ারীটির আউটপুট নিম্নরূপ -

<প্রে>+---------+---------+| অতীত আইডি | অতীত নাম |+---------+---------+| 3 | ক্যারল || 4 | জেসন |+---------+---------+2 সারি সেটে (0.00 সেকেন্ড)

উপরের আউটপুট থেকে এটা স্পষ্ট যে আমরা দুটি রেকর্ড পেয়েছি যা প্রথম টেবিলে উপস্থিত নেই।


  1. MySQL এ সঞ্চিত পদ্ধতি থেকে টেবিল রেকর্ড প্রদর্শন করুন

  2. MySQL-এ এক স্কিমা থেকে অন্য স্কিমাতে ডেটা সন্নিবেশ করান?

  3. MySQL-এ অন্য টেবিলের ডেটা থেকে এক টেবিলে ডেটা আপডেট করবেন?

  4. মাইএসকিউএল-এ এক টেবিল থেকে অন্য টেবিলে ডেটা সন্নিবেশ করান?