সাধারণভাবে, আমরা MySQL এ ON ব্যবহার করি। Joins এ, আমরা কলামের সেটে ON ব্যবহার করি। ব্যবহার উপযোগী যখন উভয় টেবিল একই নামের একটি কলাম ভাগ করে যেটিতে তারা যোগ দেয়।
অন এর উদাহরণ।
আমাদের প্রথম টেবিল তৈরি করা হচ্ছে।
mysql> সারণী তৈরি করুন ForeignTableDemo -> ( -> Id int, -> Name varchar(100), -> FK int -> );কোয়েরি ঠিক আছে, 0 সারি প্রভাবিত (0.47 সেকেন্ড)
আমাদের দ্বিতীয় টেবিল তৈরি করা হচ্ছে।
mysql> সারণী তৈরি করুন প্রাইমারিটেবলডেমো -> ( -> FK int, -> ঠিকানা varchar(100), -> প্রাথমিক কী(FK) -> );কোয়েরি ঠিক আছে, 0 সারি প্রভাবিত (0.47 সেকেন্ড)
আসুন এখন সীমাবদ্ধতা যোগ করি।
mysql> ALTER টেবিল ForeignTableDemo যোগ করুন সীমাবদ্ধতা FKConst বিদেশী কী(FK) রেফারেন্স PrimaryTableDemo(FK);কোয়েরি ঠিক আছে, 0 সারি প্রভাবিত (1.54 সেকেন্ড)রেকর্ডস:0 ডুপ্লিকেট:0 সতর্কতা:0
দ্বিতীয় টেবিলে রেকর্ড যোগ করতে।
mysql> PrimaryTableDemo মানের মধ্যে ঢোকান )mysql> PrimaryTableDemo মানগুলিতে ঢোকান(3,'Unknown');কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.08 সেকেন্ড)
সমস্ত রেকর্ড প্রদর্শন করা হচ্ছে।
PrimaryTableDemo থেকেmysql> SELECT *;
নিচের আউটপুট।
<প্রে>+----+---------+| FK | ঠিকানা |+---+---------+| 1 | মার্কিন || 2 | ইউকে || 3 | অজানা |+---+---------+3 সারি সেটে (0.00 সেকেন্ড)এখন, প্রথম টেবিলে রেকর্ড যোগ করতে।
mysql> ForeignTableDemo মানগুলিতে ঢোকান (1,'John',1); কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.20 সেকেন্ড)mysql> ForeignTableDemo মানগুলিতে ঢোকান (2,'Bob',2); কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.27 সেকেন্ড)
আসুন এখন প্রথম টেবিলের সমস্ত রেকর্ড দেখাই।
ফরেনটেবলডেমো থেকেmysql> নির্বাচন করুন;
এখানে আউটপুট।
+------+------+------+| আইডি | নাম | FK |+------+------+------+| 1 | জন | 1 || 2 | বব | 2 |+------+------+------+2 সারি সেটে (0.00 সেকেন্ড)
সরাসরি যোগদানের জন্য ক্যোয়ারী যা শুধুমাত্র মিলে যাওয়া সারিগুলি প্রদর্শন করে নীচে দেখানো হয়েছে৷ আমরা এখানে ON ব্যবহার করেছি।
mysql> ForeignTableDemo.Id, ForeignTableDemo.Name, PrimaryTableDemo.Address -> ForeignTableDemo থেকে -> PrimaryTableDemo -> ForeignTableDemo.FK =PrimaryTableDemo.FK এ যোগ দিন;
নিচের আউটপুট।
+------+------+---------+| আইডি | নাম | ঠিকানা |+------+------+---------+| 1 | জন | মার্কিন || 2 | বব | UK |+------+------+---------+2 সারি সেটে (0.14 সেকেন্ড)
ব্যবহারের উদাহরণ।
নিম্নলিখিতটি MySQL-এ USING-এর সিনট্যাক্স, যা রেকর্ড প্রদর্শন করে যেখানে FK =1।
mysql> Select *ForeignTableDemo থেকে PrimaryTableDemo এ যোগ দিন(FK) যেখানে FK=1;
এখানে আউটপুট।
+------+------+------+---------+| FK | আইডি | নাম | ঠিকানা |+------+------+------+---------+| 1 | 1 | জন | US |+------+------+------+---------+1 সারি সেটে (0.09 সেকেন্ড)