جدول employees شامل ستون‌های id، name و salary است؛ با استفاده از دستور SQL رکوردها را با ORDER BY بر اساس ستون salary به صورت نزولی مرتب کنید و ده رکورد برتر را نمایش دهید.

5.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:48

0.0

برای حل این مسئله از یک پرس و جوی ساده SELECT استفاده کنید: SELECT id, name, salary FROM employees ORDER BY salary DESC LIMIT 10; در صورتی که از SQL Server استفاده می‌کنید به‌جای LIMIT از TOP 10 در بخش SELECT استفاده کنید (مثلاً SELECT TOP 10 ... ORDER BY salary DESC). نکات مفید: بررسی کنید مقادیر NULL چگونه رفتار می‌کنند و در صورت نیاز از IS NULL یا COALESCE برای مدیریت آنها استفاده نمایید تا ترتیب دلخواه حفظ شود.

توسط پژوهشگر در 201 روز قبل ساعت 03:48
دسته بندی ها: SQL SQL for beginner
reyhaneh در 201 روز قبل ساعت 05:11

برای نمایش ده رکورد با بالاترین حقوق، از ORDER BY salary DESC همراه با LIMIT 10 استفاده کنید (در SQL Server از TOP 10 به‌جای LIMIT استفاده می‌شود). مراقب NULLها باشید: بسته به دیتابیس، NULLها ممکن است در نتیجه‌ها نقشی نداشته باشند، بنابراین از COALESCE(salary, 0) استفاده کنید یا شرط WHERE salary IS NOT NULL اضافه کنید تا ترتیب ثابت بماند. همچنین اضافه کردن ایندکس روی salary می‌تواند سرعت اجرای این پرس‌و‌جو را بهبود دهد. اگر نیاز دارید رفتار NULLها را دقیق تنظیم کنید، از گزینه‌های NULLS FIRST/LAST در دیتابیس خود استفاده کنید.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری