جداول مجازی IT 95 - نسخهی قابل چاپ |
جداول مجازی IT 95 - Hopegod - 16 آذر ۱۳۹۵ ۰۶:۲۸ ب.ظ
سلام دوستان میخاستم بپرسم چرا جواب این سوال گزینه سوم میشه به نظر من طبق نکات پایگاه داده پارسه هر دو دید ناپذیرا هستن [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 میشد شرط ۵ نقض میشد اما اینجا اینطور نیست. :| البته مطمئن نیستم. |
RE: جداول مجازی IT 95 - Hopegod - 16 آذر ۱۳۹۵ ۱۰:۲۹ ب.ظ
خیلی ممنونم از جوابتون. منم در مورد join شک دارم . ببخشید منظورتون از مورد چهارم که گفتید به یه ستون از جدول مبنا بیشتر از یک ارجاع نداره یعنی چی؟ |