سوال از union در mysql

aliirooni

New Member
سلام دوستان
با توجه به این که در mysql دستور select ... full outer join نداریم مجبور شدم از select ... union استفاده کنم.
یه نکته رو یاد گرفتم که خواهش می کنم اگه اشتباهه اصلاح کنید:
- تعداد پارامترهایی که select می شوند در هر select باید با تعداد پارامترهای دیگر select ها یکسان باشد
حالا دو تا هم سوال دارم:
1. فرق union با union all چیست؟ سرچ کردم ولی مثال هاش برام مفهوم نبود
2. کدی دارم به این شکل:
کد:
select a.a1,a.a2 from a union select b.b1,b.b2 from b
در این جا a.a1 و b.b1 پرایمری کی هستند و یکسان ولی b.b2 و a.a2 غیر یکسان هستند. a.a2 رو می تونم select کنم ولی مقدار b.b2 بهم بر نمی گرده. چرا؟
 

mehdijamal

New Member
دوست عزیز من یک select رو به دو قسمت بالا یعنی قبل از union و select پایین بعد از union تقسیم کیکنم که رتحت تر بتونم توضیح بدم

union :
اگر در خروجی select بالا رکوردی مشابه با خروجی select پایین ببیند به شما نمایش نمی دهد
در union all این برعکس است و بع رکورد های تکراری کاری ندارد و به شما نمایش میدهد

برای حل مشکلت هم پیشنهاد میکنم selecttet رو اول به خودش join کن از سمت چپ بعد union کن با خوده همین table که ازش query گرفتی ولی این بار از سمت راست
 
آخرین ویرایش:

جدیدترین ارسال ها

بالا