কম্পিউটার

কিভাবে MySQL এ ক্রস জয়েন সঠিকভাবে প্রয়োগ করবেন?


MySQL-এ CROSS JOIN যোগ করা টেবিল থেকে সারিগুলির কার্টেসিয়ান পণ্য প্রদান করে। আসুন একটি টেবিল তৈরি করে একটি উদাহরণ দেখি -

mysql> create table PairDemo
    -> (
    -> UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> UserName varchar(20),
    -> UserRelationshipName varchar(20)
    -> );
Query OK, 0 rows affected (0.56 sec)

উদাহরণ

সন্নিবেশ কমান্ড ব্যবহার করে টেবিলে কিছু রেকর্ড সন্নিবেশ করান। প্রশ্নটি নিম্নরূপ -

mysql> insert into PairDemo(UserName,UserRelationshipName) values('John','James');
Query OK, 1 row affected (0.15 sec)
mysql> insert into PairDemo(UserName,UserRelationshipName) values('Carol','James');
Query OK, 1 row affected (0.20 sec)
mysql> insert into PairDemo(UserName,UserRelationshipName) values('Carol','David');
Query OK, 1 row affected (0.25 sec)
mysql> insert into PairDemo(UserName,UserRelationshipName) values('Sam','David');
Query OK, 1 row affected (0.19 sec)

একটি নির্বাচন বিবৃতি ব্যবহার করে টেবিল থেকে সমস্ত রেকর্ড প্রদর্শন করুন। প্রশ্নটি নিম্নরূপ -

mysql> select *from PairDemo;

আউটপুট

+--------+----------+----------------------+
| UserId | UserName | UserRelationshipName |
+--------+----------+----------------------+
|      1 |     John |                James |
|      2 |    Carol |                James |
|      3 |    Carol |                David |
|      4 |      Sam |                David |
+--------+----------+----------------------+
4 rows in set (0.00 sec)

CROSS JOIN -

প্রয়োগ করার জন্য নিম্নোক্ত ক্যোয়ারী
mysql> SELECT U.UserName, UR.UserRelationshipName
    -> FROM (
    -> (SELECT DISTINCT UserName from PairDemo) U
    -> CROSS JOIN
    -> (SELECT DISTINCT UserRelationshipName from PairDemo) UR
    -> ) WHERE NOT EXISTS (
    -> SELECT * FROM PairDemo tbl
    -> WHERE tbl.UserName = U.UserName
    -> AND tbl.UserRelationshipName = UR.UserRelationshipName
    -> ) ;

এখানে আউটপুট রয়েছে যা ক্রস যোগদান -

বাস্তবায়নকারী উপরের প্রশ্নের ফলাফল প্রদর্শন করে
+----------+----------------------+
| UserName | UserRelationshipName |
+----------+----------------------+
|      Sam |                James |
|     John |                David |
+----------+----------------------+
2 rows in set (0.03 sec)

  1. কিভাবে সঠিকভাবে একটি তারিখ বিন্যাস একটি MySQL তারিখে রূপান্তর করবেন?

  2. কিভাবে সঠিকভাবে MySQL এ WITH ROLLUP ব্যবহার করবেন?

  3. কিভাবে সঠিকভাবে MySQL সঞ্চিত পদ্ধতিতে শর্ত বাস্তবায়ন করবেন?

  4. কিভাবে সঠিকভাবে একটি MySQL সঞ্চিত পদ্ধতিতে DELIMITER ব্যবহার করবেন?