تالار گفتمان مانشت
جداول مجازی IT 95 - نسخه‌ی قابل چاپ

جداول مجازی IT 95 - Hopegod - 16 آذر ۱۳۹۵ ۰۶:۲۸ ب.ظ

سلام دوستان میخاستم بپرسم چرا جواب این سوال گزینه سوم میشه به نظر من طبق نکات پایگاه داده پارسه هر دو دید ناپذیرا هستنHuh
[attachment=20973]

RE: جداول مجازی IT 95 - Pure Liveliness - 16 آذر ۱۳۹۵ ۰۹:۰۷ ب.ظ

سلام.
دید دوم که به خاطر وجود GROUP BY توی SELECT ناپذیرا هست.
دید اول ولی پذیرا هست، چون که تمام شرایط زیر رو داره:
۱) کلا WHERE نداره که WHERE …. FROM داشته باشه که در اون به همون جدولی ارجاع داده شده باشه که توی FROM قبلی بهش ارجاع داده شده.
۲) توی عبارت SELECT عبارت HAVING وجود نداره.
۳) توی عبارت SELECT عبارت GROUP BY وجود نداره.
۴) به یه ستون از جدول مبنا بیشتر از یه ارجاع وجود نداره.
۵) SELECT به صورت ساده هست یعنی JOIN و UNION و … نداره.
۶) توی عبارت SELECT گزینه ی DISTINCT نیست.
۷) توی FROM عبارت SELECT فقط یه جدول وجود داره.
اون دو تایی که سبزرنگ هست به نظر میرسه که اینجا رعایت نشده باشه. اما اینطور نیست. اولا JOIN شده و حاصل یه جدول هست پس شرط ۷ درسته. ثانیا اگه JOIN به صورتی بود که یک SELECT با یه SELECT دیگه JOIN میشد شرط ۵ نقض میشد اما اینجا اینطور نیست. :|
البته مطمئن نیستم. Huh

RE: جداول مجازی IT 95 - Hopegod - 16 آذر ۱۳۹۵ ۱۰:۲۹ ب.ظ

خیلی ممنونم از جوابتون.
منم در مورد join شک دارم .Confused
ببخشید منظورتون از مورد چهارم که گفتید به یه ستون از جدول مبنا بیشتر از یک ارجاع نداره یعنی چی؟