التعبيرات الرياضية مع جمل SQL
يمكن إستخدام التعبيرات الرياضية المختلفة مع جمل SQL بشكل بسيط وذلك من خلال إستخدام المعاملات القياسية التالية :-
وتقوم المعاملات السابقة بإنتاج أعمدة تخيلية غير موجودة بالفعل داخل قواعد البيانات وإنما يطلق عليها أعمدة محسوبة Calculated Fields
مثال :-
عند الرغبة في إسترجاع حقل المرتب بعد إضافة 300 إلى الراتب يكون النص كما يلي :-
SQL> SELECT ename, sal, sal+300
FROM emp ;
ملاحظات هامة :-
1. يتم تنفيذ العمليات الحسابية داخل جمل SQL حسب الأولويات التالية( الأقواس - الضرب و القسمة - الجمع و الطرح)
2. العمليات التي لها نفس الأولوية يتم تنفيذها بنفس ترتيب كتابتها من اليسار إلى اليمين
3. يمكنحلوةر الأولويات السابقة بإستخدام الأقواس وسوف نوضح ذلك بمثال نظراً لأهميته
مثال هام
SQL> SELECT ename, sal, 12*sal+100
FROM emp ;
يلاحظ في المثال السابق أن عملية الضرب سوف تسبق عملية الجمع نظراً للأولوية التي تتميز بها عملية الضرب لذلك عند الرغبة في تنفيذ عملية الجمع قبل عملية الضرب سوف يعاد المثال السابق بالطريقة التالية :-
SQL> SELECT ename, sal, 12*(sal+100) 0
FROM emp ;
يلاحظ في المثال السابق أنه تم وضع العملية الأقل في الأولوية داخل أقواس وذلك لرفع أولويتها وتنفيذها أولا
التعامل مع الحقول ذات القيم الخاوية Null Values
ما هو المقصود بالحقول ذات بالقيم الخاوية ؟
القيم الخاوية أو Null Values هي تلك القيم التي لا تحتوي على أي بيانات داخل قاعدة البيانات ولا يقصد بالحقول ذات القيم الخاوية تلك الحقول التي تحتوي على الصفر وذلك لأن الصفر يعتبر قيمة ولكنها تلك الحقول التي لا تحتوي على أي بيانات ويتم التعامل مع هذه القيم بحذر شديد مع أوامر إسترجاع البيانات وذلك لوجود عيوب عند إسترجاع البيانات الخاوية خاصة مع إستخدام المعاملات الرياضية وسوف نتناول هذه العيوب وطرق معالجتها بشئ من التفصيل لاحقاً
أولا مثال لإسترجاع قيم خاوية :-
SQL> SELECT ename, job, comm
FROM emp ;
النتائج المتوقعة :-
ENAME JOB COMM
---------- --------- ---------
KING PRESIDENT
BLAKE MANAGER
TURNER SALESMAN 0
من الملاحظ من دراسة نتائج المثال السابق وجود قيمتين خاويتين عند أول سجلين بينما نجد أن السجل الثالث يحتوي على قيمة وهي الصفر وهذا يوضح أن الصفر يعتبر قيمة بينما القيم الخاوية لا يعبر عنها بأي شئ .
عيوب التعامل مع الحقول ذات القيم الخاوية Null Values مع العمليات الرياضية مع الحقول :-
سبق أن أشرنا للعيوب التي تظهر عند وجود قيم فارغة داخل الحقول ومن أشهر هذه العيوب صعوبة إجراء أي عمليات حسابية على سجلات تحتوى بعضها على قيم خاوية ولتوضيح ذلك نفرض وجود 100 سجل لمائة موظف وأردنا جمع قيم العمولة التي يقوم هؤلاء الأفراد بالحصول عليها مع الراتب للحصول على إجمالي المستحق ولتنفيذ هذا الطلب يكتب أمر بسيط يمكن توضيحه كما يلي :-
SQL> select ename , sal+comm
from emp;
وعند ملاحظة النتائج نجد أن بعض النتائج تأتي خاوية مما يعطي مدلول على أن الشخص لا يتقاضى مرتب أوعمولة مع أن هذه النتائج خاطئة والصحيح أن هذا الموظف لم يحصل على عمولة فقط وبالتالي حقل العمولة خاوي
من المثال السابق نستنتج أن
عند إجراء عمليات حسابية بين قيم فعلية وقيم خاوية يكون الناتج قيمة خاوية .
التعامل مع الأسماء البديلة للحقول Defining a Column Alias
ما هو المقصود بالأسماء البديلة للحقول ؟ وما هي أهم فوائدها ؟
يقصد بالأسماء البديلة للحقول هنا إبدال الإسم الفعلي للحقل بإسم إعتباري يتم تحديده بواسطة المستخدم ومن أهم مزايا إستخدام هذا الإسلوب وضع إختصارات تسهل على المستخدم التعامل مع الحقول وكذلك يعتبر مفيد جداً مع الحقول المحسوبة وذلك لأن إسم الحقل سوب يكون العملية الحسابية بأكملها
قواعد عمل الأسماء البديلة Column Alias ؟
1. يجب أن يتبع الإسم البديل إسم الحقل الفعلي
2. يمكن إستخدام كلمة AS بين الإسم الفعلي والإسم البديل ويمكن عدم إستخدامها
3. إذا كان الإسم البديل أكثر من كلمة يجب وضع الإسم بين أقواس " "
مثال على إنشاء الأسماء البديلة Column Alias
SQL> SELECT ename AS name, sal salary
FROM emp ;
النتائج
NAME SALARY
------------- ---------
نلاحظ من النتائج السابقة ما يلي :-
1. ظهر في المثال السابق إمكانية إستخدام AS كذلك عدم إستخدامها وأعطت نفس النتيجة.
مثال2
SQL> SELECT ename "Name"
sal*12 "Annual Salary" 0
FROM emp;
النتائج
Name Annual Salary
------------- -------------
نلاحظ من النتائج السابقة ما يلي :-
ظهر في المثال السابق إمكانية إنشاء أسما بديلة من أكثر من كلمه أو بتنسق محدد بإستخدام الأقواس " " .
دمج الحقول :-
يمكن دمج الحقول المسترجعة من قاعدة البيانات بإستخدام معامل الدمج ( || ) وهو عبارة عن أداة توضع داخل جملة Select وتقوم بدمج النتائج كما يلي
SQL> SELECT ename || job AS "Employees" 0
FROM emp;
النتائج
Employees
-------------------
KINGPRESIDENT
BLAKEMANAGER
CLARKMANAGER
JONESMANAGER
MARTINSALESMAN
من النتائج السابقة نستنتج أن الحقول الموجودة داخل قواعد البيانات يسهل دمجها بإستخدام معامل الدمج ( || ) كما هو موضح بالمثال السابق
محمد سمار غير متواجد حالياً تقرير بمشاركة سيئة رد مع اقتباس