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

MySQL-এ UNION এবং ORDER BY ব্যবহার করে দুটি টেবিলের কলাম একসাথে সর্ট করা


MySQL-এ UNION ব্যবহার করে একাধিক টেবিলের কলাম একত্রিত করে সর্ট করা

MySQL-এ UNION অপারেটর দুটি বা অধিক SELECT স্টেটমেন্টের ফলাফল একত্রিত করে। ডিফল্টভাবে UNION ডুপ্লিকেট মান সরিয়ে দেয় (UNION ALL ডুপ্লিকেট রাখে)। একত্রিত ফলাফলে ORDER BY ব্যবহার করে সর্ট করা যায়।

উদাহরণ

দুটি টেবিল তৈরি:

CREATE TABLE DemoTable1 (Amount INT);
INSERT INTO DemoTable1 VALUES (234), (567), (134);

CREATE TABLE DemoTable2 (Price INT);
INSERT INTO DemoTable2 VALUES (134), (775), (121), (882);

UNION এবং ORDER BY ব্যবহার

SELECT DISTINCT Amount FROM DemoTable1
UNION
SELECT DISTINCT Price FROM DemoTable2
ORDER BY Amount;

আউটপুট:

+--------+
| Amount |
+--------+
| 121    |
| 134    |
| 234    |
| 567    |
| 775    |
| 882    |
+--------+

গুরুত্বপূর্ণ নোট

  • ORDER BY সবসময় UNION-এর শেষে লিখতে হয় (প্যারেনথেসিস ছাড়া)।
  • ORDER BY-এ কলাম নাম প্রথম SELECT-এর কলাম নাম বা এলিয়াস ব্যবহার করতে হয়।
  • DISTINCT প্রতিটি SELECT-এ ব্যবহার করা হয়েছে, তবে UNION নিজে ডুপ্লিকেট সরিয়ে দেয়।

UNION vs UNION ALL

  • UNION: ডুপ্লিকেট সরিয়ে, সর্ট করে (ধীর)।
  • UNION ALL: ডুপ্লিকেট রেখে, সর্ট করে না (দ্রুত)। পারফরম্যান্স криটিকাল কেসে UNION ALL ব্যবহার করুন।
  1. MySQL-এ একই কলাম থেকে ভিন্ন মান নির্বাচন করে আলাদা কলামে প্রদর্শন করা

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

  3. MySQL-এ CASE স্টেটমেন্ট দিয়ে কাস্টম সর্টিং (দুই কলাম)

  4. MySQL-এ CASE WHEN এবং GROUP_CONCAT ব্যবহার করে শর্তসাপেক্ষে কলাম মান কনক্যাটেনেট করা