دستورات مربوط به اجتماع، اشتراک و تفاضل جدول در mysql به ترتیب عبارتند از:
1. اجتماع (Union) :
- دستور `UNION` برای ترکیب نتایج دو یا چند پرس و جو استفاده میشود و تمام ردیفهای منحصر به فرد را برمیگرداند. اگر بخواهید ردیفهای تکراری را هم برگردانید، از `UNION ALL` استفاده میشود.
SELECT column1, column2 FROM table1
UNION
SELECT column1, column2 FROM table2;
2. اشتراک (Intersect) :
- دستور `INTERSECT` برای برگرداندن ردیفهایی که در هر دو پرس و جو مشترک هستند، استفاده میشود.
SELECT column1, column2 FROM table1
INTERSECT
SELECT column1, column2 FROM table2;
3. تفاضل (Except) :
- دستور `EXCEPT` برای برگرداندن ردیفهایی که در پرس و جوی اول وجود دارند ولی در پرس و جوی دوم نیستند، استفاده میشود. در بعضی از سیستمهای مدیریت پایگاه داده، از دستور `MINUS` به جای `EXCEPT` استفاده میشود.
SELECT column1, column2 FROM table1
EXCEPT
SELECT column1, column2 FROM table2;
این دستورات به شما امکان میدهند نتایج مختلفی را از ترکیب پرس و جوها بدست آورید و بسته به نیاز خود از آنها استفاده کنید.
نتیجه گیری
1. **اجتماع (Union)**: دستور `UNION` نتایج دو یا چند پرس و جو را ترکیب میکند و تمامی ردیفهای منحصر به فرد را برمیگرداند.
2. **اشتراک (Intersect)**: دستور `INTERSECT` ردیفهای مشترک بین دو یا چند پرس و جو را برمیگرداند.
3. **تفاضل (Except)**: دستور `EXCEPT` ردیفهایی که در پرس و جوی اول وجود دارند ولی در پرس و جوی دوم نیستند را برمیگرداند.