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

MySQL জয়েন ব্যবহার করে ডেটা-চালিত টেবিল রিলেশনশিপ মেইনটেইন করা

কখনো কখনো ডেটা-চালিত টেবিল রিলেশনশিপ এড়িয়ে যেতে হয় এবং জয়েন দিয়ে হ্যান্ডেল করতে হয়। CASE স্টেটমেন্ট SELECT লিস্টে ব্যবহার করে এটি করা যায়।

উদাহরণ

টেবিল: Student_Detail

mysql> Select * from student_detail;
+----+---------+
| Id | Name    |
+----+---------+
| 1  | Harshit |
| 2  | Rahul   |
| 3  | Aarav   |
+----+---------+

তিনটি পৃথক টেবিল: Student_Harshit, Student_Rahul, Student_Aarav (প্রতিটি সংশ্লিষ্ট ছাত্রের রিমার্কস ধারণ করে)

mysql> Select * from Student_Harshit;
+----+-----------+
| Id | Remarks   |
+----+-----------+
| 1  | Excellent |
+----+-----------+

mysql> Select * from Student_Rahul;
+----+---------+
| Id | Remarks |
+----+---------+
| 2  | Average |
+----+---------+

mysql> Select * from Student_Aarav;
+----+-------------+
| Id | Remarks     |
+----+-------------+
| 3  | Intelligent |
+----+-------------+

CASE স্টেটমেন্ট সহ LEFT JOIN:

mysql> Select sd.id, sd.name, 
CASE name 
  WHEN 'Harshit' THEN H1.Remarks 
  WHEN 'Rahul'   THEN R1.Remarks 
  WHEN 'Aarav'   THEN A1.Remarks 
  ELSE 'Error' 
END as REMARKS 
FROM Student_detail AS sd 
LEFT JOIN Student_Harshit AS H1 ON sd.id = H1.id 
LEFT JOIN Student_Rahul AS R1 ON sd.id = R1.id 
LEFT JOIN Student_Aarav AS A1 on sd.id = A1.id;

+----+---------+-------------+
| id | name    | REMARKS     |
+----+---------+-------------+
| 1  | Harshit | Excellent   |
| 2  | Rahul   | Average     |
| 3  | Aarav   | Intelligent |
+----+---------+-------------+

এভাবে ডেটা-চালিত টেবিলগুলো একসাথে জয়েন করা যায়।

  1. MySQL-এ কম্পাউন্ড ইউনিক কনস্ট্রেইন্ট প্রয়োগ

  2. MySQL-এ টেবিলের সকল কলাম মুছে দিন (DROP TABLE)

  3. MySQL-এ প্রতি পৃষ্ঠা প্রতি দিন ভিজিটর কাউন্ট করা

  4. Python দিয়ে MySQL টেবিল কপি করা