در این بخش قصد داریم Query های مختلف را با استفاده از دستورات Union , Union All , Intersect,Minus با هم تلفیق کنیم . پیش از ادامه بحث در صورتی که مطالب قبلی را مطالعه نکرده اید
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
را بخوانید .
Union :
با استفاده از این دستور میتوانید بین دو Query مختلف اجتماع ایجاد کنید . طرز استفاده از این دستور بصورت زیر است :
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
Union All :
این دستور نیز مشابه Union عمل میکند با این تفاوت که دستور Union رکوردهای تکراری را در اجتماع لحاظ نمیکند در صورتی که Union All تمامی رکوردهای تکراری و غیر تکراری را نمایش میدهد . طریقه استفاده از این دستور نیز مشابه Union است و در ذیل مشخص شده :
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
Intersect :
این دستور مانند عملگر منطقی AND عمل میکند ، به این شکل که تنها رکوردهایی را انتخاب مبکند که هم در Query1 باشد و هم در Query2 . در ذیل نحوه استفاده از این دستور ذکر شده :
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
Minus :
همانطور که از نام این دستور بر می آید عمل تفریق را انجام میدهد . با استفاده از این دستور میتوان رکوردهایی را انتخاب کرد در Query1 موجود اند ولی در Query2 موجود نیستند . نحوه استفاده از این دستور بصورت زیر است :
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
بحث در مورد تلفیق پرسشها (Query ها) را در همین جا با چند مثال پایان میدهیم .
مثال 1) فرض کنید میخواهیم لیست کلیه دانشجویانی را بدست آوریم که درس کد 2 یا 3 را ورداشته اند .
برای این منظور میتوان از دو Query استفاده کرد ، Query اول لیست تمام دانشجویان را مشخص میکند که درس کد 1 را ورداشته اند و Query دوم لیست تمام دانشجویانی را مشخص میکند که درس کد 2 را ورداشته اند ، با اجتماع این دو Query جواب بدست خواهد آمد . در اینجا بجای Union All از Union استفاده میکنیم چون ممکن است یک دانشجو بیش از یک بار درس کد 1 یا 2 را ودارد که در این صورت در صورت استفاده از Union All ، دو بار کد دانشجو نمایش داده خواهد شد.
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
مثال 2) با استفاده از دستورات الحاق Query میخواهیم لیست کلیه دانشجویانی را بدست آوریم که درس 1 و درس 2 را داشته اند .
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
همانطور که از خروجی های این دو مثال مشخص است تمامی دانشجویانی که درس 1 را انتخاب کرده اند ، درس 2 را نیز انتخاب کرده اند.