SAP اتحاد هانا واتحاد الكل: Operaأمثلة تور
⚡ ملخص ذكي
SAP HANA Operaيقوم برنامج tor بإجراء العمليات الحسابية، ومقارنة القيم، أو التعيين داخل لغة SQL. توجد ست عائلات: أحادية وثنائية، وحسابية، وسلاسل نصية، ومقارنة، ومنطقية، وعوامل مجموعات مثل UNION وINTERSECT.

SAP HANA Operaيمكن استخدام Tor للحساب أو مقارنة القيمة أو لتعيين قيمة.
SAP HANA Operaالاختصاصات
- الأحادية والثنائية Operaتور
- علم الحساب Operaتور
- خيط Operaالاختصاصات
- مقارنة Operaتور
- منطقي Operaتور
- بكج Operaتور
كل عامل يُرجع قيمة، ولذلك يمكن تضمينها داخل بعضها البعض. ويُحدد ترتيب تقييمها وفقًا للأسبقية، والتي سيتم شرحها بعد شرح كل مجموعة على حدة.
الأحادية والثنائية Operaتور
| المُشغل | تشغيل | الوصف |
|---|---|---|
| أحادي | ينطبق عامل أحادي على متغير واحد | عامل الجمع الأحادي (+) عامل النفي الأحادي (-) النفي المنطقي (NOT) |
| ثنائي | ثنائي Operaينطبق tor على متغيرين | عوامل الضرب (*، /) عوامل الجمع (+، -) عوامل المقارنة (=، !=، <، >، <=، >=) عوامل المنطق (و، أو) |
علم الحساب Operaتور
- إضافة (+)
- فرعيةtraction (-)
- عمليه الضرب ( * )
- قسم ( / )
خيط Operaتور
سلسلة Operator هو عامل تجميع يقوم بدمج عنصرين مثل السلاسل أو التعبيرات أو الثوابت في عنصر واحد.
يتم استخدام الشريطين العموديين “||” كمشغل للتسلسل.
مقارنة Operaتور
يتم استخدام عامل المقارنة لمقارنة متغيرين. فيما يلي قائمة بمقارنات Operaتور-
- يساوي (=)
- أكبر من ( > )
- Less من ( < )
- أكبر من أو يساوي (>=)
- Less أكبر من أو يساوي (<=)
- غير متساوي (!= , <> )
منطقي Operaتور
يتم استخدام العامل المنطقي في معايير البحث.
على سبيل المثال، أين الشرط 1 و/ أو / لا الشرط 2
فيما يلي قائمة بالمشغلات المنطقية -
- و – (مثال: حيث الشرط 1 والشرط 2)
إذا كان الشرط 1 والشرط 2 صحيحين، فإن شرط الدمج صحيح وإلا فسيكون خطأ. - أو – (مثال: حيث الشرط 1 أو الشرط 2)
إذا كان الشرط 1 أو الشرط 2 صحيحًا، فإن شرط الجمع يكون صحيحًا أو خطأ إذا كان كلا الشرطين خاطئين. - ليس – (مثال: حيث لا يوجد شرط)
ليس الشرط صحيحا إذا كان الشرط خطأ.
بكج Operaالاختصاصات
- UNION – يجمع بين عبارتين أو أكثر من عبارات التحديد أو الاستعلامات دون تكرار.
- UNION ALL – يجمع بين اثنين أو أكثر من عبارات أو استعلامات التحديد، بما في ذلك جميع الصفوف المكررة.
- INTERSECT – يجمع بين اثنين أو أكثر من عبارات التحديد أو الاستعلام، ويعيد جميع الصفوف المشتركة.
- باستثناء – يأخذ الناتج من الاستعلام الأول ويزيل الصف المحدد بواسطة الاستعلام الثاني.
على سبيل المثال لدي جدولين (الجدول 1، الجدول 2) حيث تكون بعض القيم مشتركة.
نحن نستخدم عامل التعيين (الاتحاد، الاتحاد الكل، التقاطع، باستثناء) لهذين الجدولين في SQL على النحو التالي -
إنشاء Table1- البرنامج النصي SQL
CREATE COLUMN TABLE DHK_SCHEMA.TABLE1 ( ELEMENT CHAR(1), PRIMARY KEY (ELEMENT) ); INSERT INTO DHK_SCHEMA.TABLE1 VALUES ('P'); INSERT INTO DHK_SCHEMA.TABLE1 VALUES ('Q'); INSERT INTO DHK_SCHEMA.TABLE1 VALUES ('R'); INSERT INTO DHK_SCHEMA.TABLE1 VALUES ('S'); INSERT INTO DHK_SCHEMA.TABLE1 VALUES ('T');
إنشاء Table2- البرنامج النصي SQL
CREATE COLUMN TABLE DHK_SCHEMA.TABLE2 ( ELEMENT CHAR(1), PRIMARY KEY (ELEMENT) ); INSERT INTO DHK_SCHEMA.TABLE2 VALUES ('S'); INSERT INTO DHK_SCHEMA.TABLE2 VALUES ('T'); INSERT INTO DHK_SCHEMA.TABLE2 VALUES ('U'); INSERT INTO DHK_SCHEMA.TABLE2 VALUES ('V'); INSERT INTO DHK_SCHEMA.TABLE2 VALUES ('W');
ملاحظات: هنا "DHK_SCHEMA" هو اسم المخطط، ويمكن للمستخدم تغيير اسم المخطط فيه SQL وفقا لذلك.
بكج Operaأمثلة تور هي على النحو التالي
| المُشغل | استعلام SQL | الناتج | استخدام |
|---|---|---|---|
| UNION | اختر * من عند ( اختر ELEMENT من عند DHK_SCHEMA.TABLE1 UNION اختر ELEMENT من عند DHK_SCHEMA.TABLE2 ) ترتيب حسب عنصر؛ |
دمج نتيجة استعلامين أو أكثر بدون تكرار. | |
| اتحاد الجميع | اختر * من عند ( اختر ELEMENT من عند DHK_SCHEMA.TABLE1 اتحاد الجميع اختر ELEMENT من عند DHK_SCHEMA.TABLE2 ) ترتيب حسب عنصر؛ |
دمج نتيجة استعلامين أو أكثر مع جميع التكرارات. | |
| تتقاطع | اختر * من عند ( اختر ELEMENT من عند DHK_SCHEMA.TABLE1 تتقاطع اختر ELEMENT من عند DHK_SCHEMA.TABLE2 ) ترتيب حسب عنصر؛ |
دمج نتيجة استعلامين أو أكثر مع كافة الصفوف المشتركة. | |
| إلا | اختر * من عند ( اختر ELEMENT من عند DHK_SCHEMA.TABLE1 إلا اختر ELEMENT من عند DHK_SCHEMA.TABLE2 ) ترتيب حسب عنصر؛ |
يأخذ الإخراج من الاستعلام الأول ويزيل الصف المحدد بواسطة الاستعلام الثاني |
بكج Operaقواعد ومتطلبات تور
تبدو عوامل تشغيل المجموعات بسيطة، لكنها ترفض الاستعلامات بسهولة، لأنها تقارن مجموعات النتائج بأكملها بدلاً من القيم الفردية. وتخضع هذه العوامل لأربع قواعد.
- يجب أن يتطابق عدد الأعمدة. يجب أن تُرجع كلتا عبارتي SELECT نفس عدد الأعمدة. في حالة عدم التطابق، يفشل البرنامج فورًا، وتُشير الرسالة إلى موضع العمود بدلًا من اسمه.
- يجب أن تكون أنواع البيانات متوافقة. تتم مطابقة العمود الأول من الاستعلام الأول مع العمود الأول من الاستعلام الثاني، وهكذا حسب الموقع وليس الاسم. يتم تحويل أنواع البيانات الرقمية المتوافقة تلقائيًا؛ أما عمود الأحرف الذي يقابل التاريخ فلا يتم تحويله.
- أسماء الأعمدة مستمدة من الاستعلام الأول. يتم تجاهل أي شيء تسميه العبارة الثانية أعمدتها في الناتج، وهو ما يفاجئ أي شخص يقرأ نتيجة عملية UNION لأول مرة.
- ينطبق أمر ORDER BY على النتيجة بأكملها. يجب أن يكون في النهاية، بعد آخر استعلام SELECT، ولهذا السبب تقوم الأمثلة أعلاه بتغليف الاتحاد في استعلام SELECT خارجي.
تجدر الإشارة إلى الفرق في الأداء بين UNION و UNION ALL. يتطلب UNION فرز أو تجزئة النتيجة المجمعة لإزالة التكرارات، بينما يقوم UNION ALL ببساطة بإضافة الأعمدة. في الحالات التي يكون فيها وجود التكرارات غير ممكن أو مقبول، يكون UNION ALL أسرع بشكل ملحوظ على الجداول الكبيرة. تُغطى تعريفات الأعمدة المستخدمة في هذه الجداول في SAP أنواع بيانات HANA.
Operaالأسبقية في SAP هانا SQL
عند ظهور عدة عوامل تشغيل في تعبير واحد، تحدد الأسبقية أيها يُقيّم أولاً. يؤدي الخطأ في ذلك إلى استعلام يعمل بشكل مثالي ولكنه يُرجع صفوفًا خاطئة، وهو أمرٌ أخطر بكثير من خطأ في بناء الجملة.
| الطلب | تدريب المشغلين والتقنيين | الفئة |
|---|---|---|
| 1 | () | الأقواس، يتم تقييمها دائمًا أولاً |
| 2 | + – (معامل واحد) | الجمع والطرح الأحادي |
| 3 | * / | الضرب والقسمة |
| 4 | + – || | إضافة، فرعيtraction, concatenation |
| 5 | = != < > <= >= | مقارنة |
| 6 | لا | النفي المنطقي |
| 7 | لأي لبس | العطف المنطقي |
| 8 | OR | الفصل المنطقي |
يكمن الفخ الكلاسيكي في الصفين 7 و8. ولأن ربط AND أقوى من ربط OR، فإن الشرط حيث المنطقة = 'شرق' أو المنطقة = 'غرب' والحالة = 'مفتوح' يُقرأ على النحو التالي الشرق، أو الغرب المفتوحيتم إرجاع كل صف شرقي بغض النظر عن الحالة. إضافة أقواس حول اختبارَي المنطقتين يحل المشكلة.
💡 نصيحة: ضع أقواسًا حول كل شرط مختلط من نوعي "و" و"أو"، حتى لو كانت الأسبقية تُعطي النتيجة المرجوة. يصبح الاستعلام موثقًا ذاتيًا ويبقى صالحًا حتى بعد تعديلات لاحقة من مطور آخر.
يتم تغطية بناء الجملة اليومي في SAP هانا SQL البرنامج التعليمي، والمنصة الأوسع في SAP برنامج تعليمي لـ HANA سلسلة.





