SQL UNION ALL Operator
زبان SQL وقتی بخوایم نتایج چند کوئری رو پشت سر هم ترکیب کنیم و رکوردهای تکراری هم حفظ بشن، از UNION ALL استفاده میکنیم.
🔹 ساختار کلی
-
ستونها باید از نظر تعداد و نوع داده با هم سازگار باشن.
-
برخلاف
UNION
، اینجا رکوردهای تکراری حذف نمیشن.
🔹 مثال ساده
جدول: Customers_in_Iran
id | name | city |
---|---|---|
1 | Ali | Tehran |
2 | Sara | Mashhad |
جدول: Customers_in_Turkey
id | name | city |
---|---|---|
1 | Ali | Tehran |
2 | Reza | Istanbul |
کوئری با UNION:
📌 خروجی (بدون تکراری):
name | city |
---|---|
Ali | Tehran |
Sara | Mashhad |
Reza | Istanbul |
کوئری با UNION ALL:
📌 خروجی (با تکراری):
name | city |
---|---|
Ali | Tehran |
Sara | Mashhad |
Ali | Tehran |
Reza | Istanbul |
🔹 مثال با شرطها
📌 خروجی شامل همه ردیفهای تهرانی از هر دو جدول میشه، حتی اگر تکراری باشن.
✅ نکات مهم
-
UNION
→ رکوردهای تکراری حذف میشن. -
UNION ALL
→ رکوردهای تکراری هم نمایش داده میشن. -
برای سرعت بهتر، وقتی مطمئنید دادهها تکراری نیستن یا میخواید تکراریها بمونن، از
UNION ALL
استفاده کنید. -
میتونید بعد از کل کوئری از
ORDER BY
برای مرتبسازی نهایی استفاده کنید.