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

MySQL-এ UNION ALL ব্যবহার করে দুটি টেবিল একত্রিত করা (শর্তসাপেক্ষে)

দুই টেবিল একত্রিত করতে UNION ALL ব্যবহার করুন। প্রথম টেবিল তৈরি করি:

mysql> CREATE TABLE DemoTable1 (Id INT, FirstName VARCHAR(20));
mysql> INSERT INTO DemoTable1 VALUES(10, 'John'), (20, 'Carol');

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

mysql> CREATE TABLE DemoTable2 (Id INT, FirstName VARCHAR(20));
mysql> INSERT INTO DemoTable2 VALUES(20, 'David'), (40, 'Chris');

দুই টেবিলের ডেটা দেখতে:

mysql> SELECT * FROM DemoTable1;
mysql> SELECT * FROM DemoTable2;

আউটপুট:

DemoTable1:      DemoTable2:
+------+-----------+   +------+-----------+
| Id   | FirstName |   | Id   | FirstName |
+------+-----------+   +------+-----------+
| 10   | John      |   | 20   | David     |
| 20   | Carol     |   | 40   | Chris     |
+------+-----------+   +------+-----------+

দুই টেবিল থেকে Id=20 वाले সারি গুলো একত্রিত করার কোয়েরি (UNION ALL):

mysql> SELECT * FROM DemoTable1 WHERE Id=20 
UNION ALL 
SELECT * FROM DemoTable2 WHERE Id=20;

আউটপুট:

+------+-----------+
| Id   | FirstName |
+------+-----------+
| 20   | Carol     |
| 20   | David     |
+------+-----------+

ব্যাখ্যা:

  • UNION ALL: ডুপ্লিকেট রেখে সব সারি একত্রিত করে।
  • UNION: ডুপ্লিকেট সরিয়ে একত্রিত করে (স্লোয়ার)।
  • দুই কোয়েরির কলাম সংখ্যা এবং টাইপ মিলতে হবে।

সতর্কতা: এখানে দুটি টেবিলের স্কিমা একই। যদি কলাম অর্ডার বা নাম ভিন্ন হয়, তবে এক্সপ্লিসিট কলাম লিস্ট দিয়ে লিখুন: SELECT Id, FirstName FROM ...।

  1. MySQL-এ শর্তসাপেক্ষে কাউন্ট করা (SUM ও WHERE ব্যবহার করে)

  2. MySQL-এ CONCAT() এবং JOIN ব্যবহার করে আলাদা টেবিলের কলাম সংযুক্ত করুন

  3. MySQL-এ UNION ALL এবং INSERT INTO SELECT ব্যবহার করে একক কোয়েরিতে দুটি টেবিলে ডেটা ইনসার্ট করুন

  4. MySQL-এ CONCAT_WS ব্যবহার করে শর্তসাপেক্ষ রো সিলেক্ট করা