تالار گفتمان مانشت

نسخه‌ی کامل: جای قرار دادن توابع سنونی در فرم دستور sql - تست دولتی 75( ابهام در بکار بردن توابع )
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام دوستان
اول میخاستم بدونم ک توابع ستونی رو فقط میشه در جلوی دستور select استفاده کرد(؟) یا میشه جلوی where و group by هم استفاده کرد ؟دوم این ک چرا جواب این تست شده گزینه ۲
سوال :جدول A دارای ستونprice و pcode است .کدام گزینه در مورد عبارت زیر صحیح است؟

select pcode,price
from A
;(where price =Max (price

۱)معادل عبارت مقابل است:

select pcode,price
from A
;( where price =(select Max (price) from A


۲)اشکال منطقی دارد زیرا محاسبه ماکزیمم در مرحله جداگانه ای انجام نمی شود.
۳)همواره یک سطر چاپ می کند ک غلط است.
۴)

select pcode,price
from A
;( where Max ( price )=(select price from A
توضیح آقای مقسمی برا این تست:
در واقع برای محاسبه مقدار max قیمتها باید از دستور گزینه ۱ استفاده شود گزینه ۴ غلط است.
این توضی ک این آقا دادن یعنی گزینه ۱ درست ولی گفته ۲ ؟چرا؟؟؟؟HuhHuhHuh








خوشحال میشم لطف کنید راهنمایی کنید پیشاپیش سپاسگذارمSmileAngel
(17 آبان 1393 10:54 ق.ظ)monji_421 نوشته شده توسط: [ -> ]سلام دوستان
اول میخاستم بدونم ک توابع ستونی رو فقط میشه در جلوی دستور select استفاده کرد(؟) یا میشه جلوی where و group by هم استفاده کرد ؟دوم این ک چرا جواب این تست شده گزینه ۲
سوال :جدول A دارای ستونprice و pcode است .کدام گزینه در مورد عبارت زیر صحیح است؟

select pcode,price
from A
;(where price =Max (price

۱)معادل عبارت مقابل است:

select pcode,price
from A
;( where price =(select Max (price) from A


۲)اشکال منطقی دارد زیرا محاسبه ماکزیمم در مرحله جداگانه ای انجام نمی شود.
۳)همواره یک سطر چاپ می کند ک غلط است.
۴)

select pcode,price
from A
;( where Max ( price )=(select price from A
توضیح آقای مقسمی برا این تست:
در واقع برای محاسبه مقدار max قیمتها باید از دستور گزینه ۱ استفاده شود گزینه ۴ غلط است.
این توضی ک این آقا دادن یعنی گزینه ۱ درست ولی گفته ۲ ؟چرا؟؟؟؟HuhHuhHuh








خوشحال میشم لطف کنید راهنمایی کنید پیشاپیش سپاسگذارمSmileAngel

هل من ناصر ینصرنی؟ یعنی هیچ کس نیست ک پایگاه بلد باشه SadSadSadSadSad
گزینه ی دو صحیح است. چون انتخاب max به یه دستور select نیاز داره. یعنی مقدار (max(price عملا معنی نداره. عبارتی که در مقابل گزینه ی یک نوشته شده، صحیح است ولی پاسخ سوال گزینه ی دوم است.
(18 آبان 1393 10:02 ب.ظ)x86 نوشته شده توسط: [ -> ]گزینه ی دو صحیح است. چون انتخاب max به یه دستور select نیاز داره. یعنی مقدار (max(price عملا معنی نداره. عبارتی که در مقابل گزینه ی یک نوشته شده، صحیح است ولی پاسخ سوال گزینه ی دوم است.
خداخیرت بده دیگه داشتم ناامید میشدمSmile
فقط یه سوال
میخاستم بدونم ک توابع ستونی رو فقط میشه در جلوی دستور select استفاده کرد(؟) یا میشه جلوی where و group by هم استفاده کرد چجوریاست قوانین خاصی داره؟مرسی از لطفت
(18 آبان 1393 10:44 ب.ظ)monji_421 نوشته شده توسط: [ -> ]خداخیرت بده دیگه داشتم ناامید میشدمSmile
فقط یه سوال
میخاستم بدونم ک توابع ستونی رو فقط میشه در جلوی دستور select استفاده کرد(؟) یا میشه جلوی where و group by هم استفاده کرد چجوریاست قوانین خاصی داره؟مرسی از لطفت

خواهش می کنم. اگر منظورت از توابع ستونی توابع max و min هستن، همونطور که اینها رو فقط میشه تو عبارت select استفاده کرد. اصلا مگه میشه توسط یه تابع group by کرد؟ group by اسم یه ستون یا مجموعه ای از ستون ها رو میگیره. برای استفاده از مقدار max و min توی عبارت where هم اول یه کوئری میزنی و این مقدار ها رو بدست میاری حالا می تونی از این مقدار توی دستورت استفاده کنی.


مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمی‌باشید. جهت مشاهده پیوندها ثبت نام کنید.


اینجا هم اطلاعات خوبی میتونی در مورد تابع ماکس پیدا کنی.
(18 آبان 1393 11:17 ب.ظ)x86 نوشته شده توسط: [ -> ]
(18 آبان 1393 10:44 ب.ظ)monji_421 نوشته شده توسط: [ -> ]خداخیرت بده دیگه داشتم ناامید میشدمSmile
فقط یه سوال
میخاستم بدونم ک توابع ستونی رو فقط میشه در جلوی دستور select استفاده کرد(؟) یا میشه جلوی where و group by هم استفاده کرد چجوریاست قوانین خاصی داره؟مرسی از لطفت

خواهش می کنم. اگر منظورت از توابع ستونی توابع max و min هستن، همونطور که اینها رو فقط میشه تو عبارت select استفاده کرد. اصلا مگه میشه توسط یه تابع group by کرد؟ group by اسم یه ستون یا مجموعه ای از ستون ها رو میگیره. برای استفاده از مقدار max و min توی عبارت where هم اول یه کوئری میزنی و این مقدار ها رو بدست میاری حالا می تونی از این مقدار توی دستورت استفاده کنی.


مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمی‌باشید. جهت مشاهده پیوندها ثبت نام کنید.


اینجا هم اطلاعات خوبی میتونی در مورد تابع ماکس پیدا کنی.

خداوند یک در دنیا صدر در آخرت ب شما عطاکند بازم سپاسگذارم
کلا Aggregate functions که توابع min و max رو هم شامل می شوند بر روی داده های group شده اجرا می شوند. چون where قبل از group بر روی داده ها اعمال میشه پس کوئری موجود دارای مشکل منطقی است. اگر نیاز به اعمال شرط بر روی داده های group شده هست می توان از having استفاده کرد. گزینه ۲ از sub query استفاده کرده که خود کوئری مشکلی نداره ولی معادل کوئری صورت سوال نیست
(19 آبان 1393 08:17 ب.ظ)mf_aref نوشته شده توسط: [ -> ]کلا Aggregate functions که توابع min و max رو هم شامل می شوند بر روی داده های group شده اجرا می شوند. چون where قبل از group بر روی داده ها اعمال میشه پس کوئری موجود دارای مشکل منطقی است. اگر نیاز به اعمال شرط بر روی داده های group شده هست می توان از having استفاده کرد. گزینه ۲ از sub query استفاده کرده که خود کوئری مشکلی نداره ولی معادل کوئری صورت سوال نیست
ممنون از راهنمایتون
لینک مرجع