شارك المقالة

تنفذ تعبيرات SELECT في Oracle عمليات حسابية على الأعمدة العددية وتعرض ناتجها. مثالنا يفترض أن salary راتب شهري، ويحسب زيادة افتراضية وقيمة سنوية وراتبًا مع عمولة معروفة أو بديل صفري للعمولة غير المسجلة.

تستخدم الأمثلة جداول التدريب في درس إنشاء جداول وبيانات تدريب Oracle. نفّذ إعدادها مرة واحدة في مخطط تدريب قبل الاستعلامات، حتى تتطابق أسماء الأعمدة والنتائج.

مثال SQL قابل للنسخ

SELECT emp_id, salary,
       salary + 300 AS salary_plus_300,
       salary * 12 AS annual_salary,
       salary + NVL(commission, 0) AS salary_with_commission
FROM gc_employees
ORDER BY emp_id;

النتائج

راتب Shrouk هو 5000؛ عمود الزيادة يعطي 5300، والسنوي 60000، والراتب مع العمولة 5000 وفق سياسة المثال. راتب Ahmed مع العمولة يعطي 7500. لا يتم تعديل الراتب الأصلي لأن كل العمليات داخل SELECT.

NULL وأولوية العمليات

يبقى ناتج حساب راتب Mona NULL لأنه مجهول. استخدمنا NVL على العمولة فقط، ولم نفترض أن راتبًا غير معروف يساوي صفرًا. الضرب والقسمة لهما أولوية على الجمع والطرح؛ استخدم الأقواس عندما تريد ترتيبًا مختلفًا مثل (salary + 300) * 12.

المعنى والأنواع

الأرقام هنا بيانات تدريب وليست حساب رواتب قانونيًا أو ماليًا متكاملًا. تحقق من وحدة الزمن ومعنى كل عمود قبل جمع القيم. لا تطبق زيادة حسابية على اسم نصي وتتوقع نتيجة عددية سليمة. لتقريب الناتج راجع ROUND وTRUNC بدل الخلط بين الحساب وتنسيق الخانات في الأداة.

الصور والفيديو من الشرح السابق

الكود النصي أعلاه هو النسخة المصححة؛ قد تختلف المواد المرئية السابقة في أسماء المتغيرات أو طريقة التشغيل.

شاهد أيضًا
مقالات ذات صلة
🚫 مانع الإعلانات مفعل

يجب إيقاف مانع الإعلانات لاستكمال تصفح الموقع