কম্পিউটার

অন ​​শর্ত ছাড়াই মাইএসকিউএল জয়েন কীভাবে ব্যবহার করবেন?


আমরা শর্ত ছাড়াই 'ক্রস জয়েন' ব্যবহার করতে পারি। ক্রস জয়েন কার্টেসিয়ান পণ্য আকারে ফলাফল দেয়। উদাহরণস্বরূপ, যদি একটি টেবিলে 3টি রেকর্ড থাকে এবং অন্য একটি টেবিলে 2টি রেকর্ড থাকে, তাহলে প্রথম রেকর্ডটি দ্বিতীয় টেবিলের সমস্ত রেকর্ডের সাথে মিলবে। তারপর, একই প্রক্রিয়া দ্বিতীয় রেকর্ডের জন্য পুনরাবৃত্তি করা হবে ইত্যাদি।

ক্রস যোগদানের উদাহরণ

প্রথম টেবিল তৈরি করা হচ্ছে

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 সেকেন্ড)

SELECT কমান্ড ব্যবহার করে রেকর্ড প্রদর্শন করা হচ্ছে।

ফরেনটেবলডেমো থেকে
mysql> নির্বাচন করুন;

নিচের আউটপুট।

+------+------+------+| আইডি | নাম | FK |+------+------+------+| 1 | জন | 1 || 2 | বব | 2 |+------+------+------+2 সারি সেটে (0.00 সেকেন্ড)

আমরা সমস্ত টেবিলের জন্য একটি বিদেশী কী সীমাবদ্ধতা তৈরি করেছি। এখন, ON ছাড়া 'cross join' ব্যবহার করতে, আসুন সিনট্যাক্স দেখি।

mysql> ForeignTableDemo.Id, ForeignTableDemo.Name, PrimaryTableDemo.Address -> ForeignTableDemo থেকে -> Cross join PrimaryTableDemo;

এখানে আউটপুট।

+------+------+---------+| আইডি | নাম | ঠিকানা |+------+------+---------+| 1 | জন | মার্কিন || 2 | বব | মার্কিন || 1 | জন | ইউকে || 2 | বব | ইউকে || 1 | জন | অজানা || 2 | বব | অজানা |+------+------+---------+6 সারি সেটে (0.00 সেকেন্ড)

  1. মাইএসকিউএল-এর একটি `IN ()`-এ কমা-বিচ্ছিন্ন স্ট্রিং কীভাবে ব্যবহার করবেন?

  2. আমি মাইএসকিউএল-এ @ সাইন কীভাবে ব্যবহার করব?

  3. একটি MySQL ক্যোয়ারীতে CASE শর্তের সাথে গণনা কিভাবে ব্যবহার করবেন?

  4. মাইএসকিউএল-এ সিলেক্ট করা থাকলে কীভাবে ব্যবহার করবেন?