SQL UNION Operator

زبان SQL وقتی بخوایم نتایج چند کوئری مختلف رو با هم ترکیب کنیم (زیر هم نمایش داده بشن)، از UNION Operator استفاده می‌کنیم.

🔹 ساختار کلی

SELECT column1, column2, ... FROM table1 UNION SELECT column1, column2, ... FROM table2;
  • ستون‌ها باید از نظر تعداد و نوع داده با هم سازگار باشن.

  • به صورت پیش‌فرض، UNION رکوردهای تکراری رو حذف می‌کنه.

🔹 مثال ساده

جدول: Customers_in_Iran

idnamecity
1AliTehran
2SaraMashhad

جدول: Customers_in_Turkey

idnamecity
1RezaIstanbul
2NargesAnkara

کوئری:

SELECT name, city FROM Customers_in_Iran UNION SELECT name, city FROM Customers_in_Turkey;

📌 خروجی:

namecity
AliTehran
SaraMashhad
RezaIstanbul
NargesAnkara


🔹 UNION ALL

اگر بخوایم رکوردهای تکراری هم نمایش داده بشن (حذف نشن)، از UNION ALL استفاده می‌کنیم:

SELECT name, city FROM Customers_in_Iran UNION ALL SELECT name, city FROM Customers_in_Turkey;

🔹 مثال با شرط‌ها

می‌خوایم مشتری‌هایی رو که در تهران هستن یا در استانبول:

SELECT name, city FROM Customers_in_Iran WHERE city = 'Tehran' UNION SELECT name, city FROM Customers_in_Turkey WHERE city = 'Istanbul';

نکات مهم

  • ستون‌ها باید از نظر تعداد و نوع داده همخوانی داشته باشن.

  • UNION → رکوردهای تکراری حذف میشن.

  • UNION ALL → رکوردهای تکراری هم نمایش داده میشن.

  • برای مرتب‌سازی نهایی، می‌تونید بعد از آخرین کوئری از ORDER BY استفاده کنید.