حل سوال ۱۰۴ از کنکور ارشد کامپیوتر ۹۳

در این آموزش ضمن حل سوال ۱۰۴ از کنکور ارشد کامپیوتر ۹۳، مروری هم بر مباحث پرس و جوی Sql و UNION ALL خواهیم داشت.

کیفیت فیلم بصورت پیش فرض بر روی حالت low تنظیم شده است و شما می توانید با استفاده از گزینه HD، این آموزش را با بالاترین کیفیت مشاهده نمایید.

شما می توانید با استفاده از گزینه “متن فیلم”، متن مربوط به حل سوال را مشاهده کنید.

//******************************************************************************************************************************************//

صورت سوال:

صورت سوال این است: شمای پایگاه داده ای که شامل جداول کارمندان، بخش ها و کارمندان هر بخش  است را در نظر بگیرید. نتیجه ی اجرای پرس و جوی تعریف شده، بر نمونه ی آورده شده از جدول های Employee ،Department ،WorksIn چه خواهد بود؟ در این جا پرس وجوی مورد نظر را مشاهده می کنید.

//******************************************************************************************************************************************//

حل سوال:

در پرس وجوی مورد نظر،  SELECT مشخص شده، مجموع حقوق کارمندان هر بخش را با نام جدید  s به ما می دهد که در این جا با توجه به نمونه داده های صورت سوال، مجموع حقوق کارمندان بخش d1 برابر ۸ و مجموع حقوق کارمندان بخش d3 برابر ۴ می باشد.

درSELECT  بعدی، مقدار s برای بخش هایی که کارمندی ندارند، صفر خواهد شد. همان طور که می بینید در نمونه داده های سوال، بخش d2 در جدول  WorksIn کارمندی  ندارد و مقدار s برای این بخش، صفر خواهد شد.

در این قسمت از دستور پرس و جو، SELECT مشخص شده اطلاعات تمام کارمندان بخش ها را بر می گرداند و دستور NOT EXISTS در WHERE، باعث می شود بخش هایی مشخص شود که کارمندی ندارند.

در انتها با استفاده از عملگر  UNION ALL، ترکیب نتایج دو دستور SELECT انجام می شود و مجموع حقوق کارمندان برای هر بخش را برای ما محاسبه می کند. همان طور که قبلا توضیح داده شد، در دومین دستور SELECT، این مجموع برای بخش هایی که کارمندی ندارند، صفر محاسبه می شود.

استفاده از عملگر UNION ALL به جای UNION باعث می شود که سطر هایی که دارای مجموع حقوق کارمندان یکسانی هستند، از نتیجه ی به دست آمده از دو جدول حذف نشوند.

در نهایت، این پرس و جو، میانگین حقوق های دریافتی هر بخش را محاسبه می کند که برای نمونه داده های صورت سوال برابر با ۴ می شود.

//******************************************************************************************************************************************//

پاسخ سوال:

پس نتیجه ی اجرای پرس و جوی تعریف شده، بر نمونه ی آورده شده از جدول های Employee ،Department ،WorksIn، گزینه ی ۲ خواهد بود.

متن فیلم

نظر خود را ثبت کنید

ایمیل شما به عموم نشان داده نخواهد شد. فیلدهای اجباری با ستاره نشان داده شده است *