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

MySQL-এ ON শর্ত ছাড়া JOIN ব্যবহার (CROSS JOIN)

ON শর্ত ছাড়া JOIN করতে CROSS JOIN ব্যবহার করা যায়। ক্রস জয়াইন ফলাফল কারtezian প্রোডাক্ট রূপে দেয়। উদাহরণস্বরূপ, একটি টেবিলে ৩ রেকর্ড এবং অন্যটিতে ২ রেকর্ড থাকলে, প্রথম রেকর্ড দ্বিতীয় টেবিলের সব রেকর্ডের সাথে মিলবে। একই প্রক্রিয়া দ্বিতীয় রেকর্ডের জন্যও হবে।

ক্রস জয়াইন উদাহরণ

প্রথম টেবিল তৈরি

mysql> CREATE table ForeignTableDemo
-> (
-> Id int,
-> Name varchar(100),
-> FK int
-> );
Query OK, 0 rows affected (0.47 sec)

দ্বিতীয় টেবিল তৈরি

mysql> CREATE table PrimaryTableDemo
-> (
-> FK int,
-> Address varchar(100),
-> primary key(FK)
-> );
Query OK, 0 rows affected (0.47 sec)

ফরেন কি কনস্ট্রেইন্ট যোগ

mysql> ALTER table ForeignTableDemo add constraint FKConst foreign key(FK) references PrimaryTableDemo(FK);
Query OK, 0 rows affected (1.54 sec)

দ্বিতীয় টেবিলে রেকর্ড যোগ

mysql> INSERT into PrimaryTableDemo values(1,'US');
Query OK, 1 row affected (0.10 sec)
mysql> INSERT into PrimaryTableDemo values(2,'UK');
Query OK, 1 row affected (0.14 sec)
mysql> INSERT into PrimaryTableDemo values(3,'Unknown');
Query OK, 1 row affected (0.08 sec)

দ্বিতীয় টেবিলের রেকর্ড:

mysql> SELECT * from PrimaryTableDemo;

আউটপুট:

+----+---------+
| FK | Address |
+----+---------+
| 1  | US      |
| 2  | UK      |
| 3  | Unknown |
+----+---------+
3 rows in set (0.00 sec)

প্রথম টেবিলে রেকর্ড যোগ

mysql> INSERT into ForeignTableDemo values (1,'John',1);
Query OK, 1 row affected (0.20 sec)
mysql> INSERT into ForeignTableDemo values (2,'Bob',2);
Query OK, 1 row affected (0.27 sec)

প্রথম টেবিলের রেকর্ড:

mysql> SELECT * from ForeignTableDemo;

আউটপুট:

+------+------+------+
| Id   | Name | FK   |
+------+------+------+
| 1    | John | 1    |
| 2    | Bob  | 2    |
+------+------+------+
2 rows in set (0.00 sec)

ON শর্ত ছাড়া CROSS JOIN

সিনট্যাক্স:

mysql> SELECT ForeignTableDemo.Id, ForeignTableDemo.Name, PrimaryTableDemo.Address
-> FROM ForeignTableDemo
-> CROSS JOIN PrimaryTableDemo;

আউটপুট (কারtezian প্রোডাক্ট - ২ × ৩ = ৬ সারি):

+------+------+---------+
| Id   | Name | Address |
+------+------+---------+
| 1    | John | US      |
| 2    | Bob  | US      |
| 1    | John | UK      |
| 2    | Bob  | UK      |
| 1    | John | Unknown |
| 2    | Bob  | Unknown |
+------+------+---------+
6 rows in set (0.00 sec)
  1. MySQL-এ কমা-বिभক্ত স্ট্রিং IN() ক্লজে ব্যবহার করা

  2. MySQL-এ @ চিহ্ন ব্যবহার করে ইউজার-ডিফাইনড ভেরিয়েবল ডিক্লেয়ার ও ব্যবহার

  3. MySQL-এ COUNT() এর ভিতরে CASE শর্ত ব্যবহার করে গণনা করা

  4. MySQL-এ SELECT-এ IF() ফাংশন ব্যবহার করে শর্তভিত্তি আউটপুট দেওয়া