SAP اتحاد هانا واتحاد الكل: Operaأمثلة تور

⚡ ملخص ذكي

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

  • أحادي وثنائي: يأخذ العامل الأحادي معاملاً واحداً، بينما يأخذ العامل الثنائي معاملين.
  • 🧮 علم الحساب: إضافة، فرعيtracتعمل عمليات الضرب والقسمة على المعاملات العددية.
  • 🔗 تسلسل السلسلة: يربط خطان عموديان السلاسل النصية أو التعبيرات أو الثوابت في قيمة واحدة.
  • 🇧🇷 مقارنة: تُعيد عوامل المساواة، والأكبر من، والأصغر من، ومجموعاتها قيمة منطقية للتصفية.
  • 🔀 منطقي: تجمع عبارات AND و OR و NOT الشروط داخل جملة WHERE.
  • 🧩 بكج Operaتورس: تزيل عملية UNION التكرارات، بينما تُبقيها عملية UNION ALL، وتُعيد عملية INTERSECT الصفوف المشتركة، باستثناء الصفوف الفرعية.tracالخبر.
  • 📊 مثال عملي: يوضح الجدولان اللذان يتشاركان القيم اختلاف مخرجات كل عامل من عوامل المجموعة.

SAP مشغلو HANA UNION و UNION ALL

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) حيث تكون بعض القيم مشتركة.

بكج Operaتورس في SAP HANA

نحن نستخدم عامل التعيين (الاتحاد، الاتحاد الكل، التقاطع، باستثناء) لهذين الجدولين في 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
)
ترتيب حسب عنصر؛

مخرج عامل المجموعة UNION

دمج نتيجة استعلامين أو أكثر بدون تكرار.
اتحاد الجميع اختر *
من عند
(
اختر ELEMENT
من عند DHK_SCHEMA.TABLE1
اتحاد الجميع
اختر ELEMENT
من عند DHK_SCHEMA.TABLE2
)
ترتيب حسب عنصر؛

UNION ALL Set operator output

دمج نتيجة استعلامين أو أكثر مع جميع التكرارات.
تتقاطع اختر *
من عند
(
اختر ELEMENT
من عند DHK_SCHEMA.TABLE1
تتقاطع
اختر ELEMENT
من عند DHK_SCHEMA.TABLE2
)
ترتيب حسب عنصر؛

مخرجات عامل التقاطع

دمج نتيجة استعلامين أو أكثر مع كافة الصفوف المشتركة.
إلا اختر *
من عند
(
اختر ELEMENT
من عند DHK_SCHEMA.TABLE1
إلا
اختر ELEMENT
من عند DHK_SCHEMA.TABLE2
)
ترتيب حسب عنصر؛

باستثناء مخرجات عامل الضبط

يأخذ الإخراج من الاستعلام الأول ويزيل الصف المحدد بواسطة الاستعلام الثاني

بكج Operaقواعد ومتطلبات تور

تبدو عوامل تشغيل المجموعات بسيطة، لكنها ترفض الاستعلامات بسهولة، لأنها تقارن مجموعات النتائج بأكملها بدلاً من القيم الفردية. وتخضع هذه العوامل لأربع قواعد.

  1. يجب أن يتطابق عدد الأعمدة. يجب أن تُرجع كلتا عبارتي SELECT نفس عدد الأعمدة. في حالة عدم التطابق، يفشل البرنامج فورًا، وتُشير الرسالة إلى موضع العمود بدلًا من اسمه.
  2. يجب أن تكون أنواع البيانات متوافقة. تتم مطابقة العمود الأول من الاستعلام الأول مع العمود الأول من الاستعلام الثاني، وهكذا حسب الموقع وليس الاسم. يتم تحويل أنواع البيانات الرقمية المتوافقة تلقائيًا؛ أما عمود الأحرف الذي يقابل التاريخ فلا يتم تحويله.
  3. أسماء الأعمدة مستمدة من الاستعلام الأول. يتم تجاهل أي شيء تسميه العبارة الثانية أعمدتها في الناتج، وهو ما يفاجئ أي شخص يقرأ نتيجة عملية UNION لأول مرة.
  4. ينطبق أمر 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 سلسلة.

الأسئلة الشائعة

يُستخدم الأمر UNION ALL لإضافة النتائج فقط، بينما يتطلب الأمر UNION إزالة التكرارات. استخدم UNION ALL عندما يكون وجود التكرارات غير ممكن أو مقبولاً في الناتج.

نعم، SAP تقوم HANA بتحويل الرقم ضمنيًا.ping لا يزال استخدام TO_VARCHAR ممارسة أفضل، لأن التنسيق يبقى تحت سيطرتك بدلاً من التنسيق الافتراضي للجلسة.

نعم. يعيد الذكاء الاصطناعي صياغة شرط "و" و"أو" المختلط بلغة بسيطة، مما يكشف على الفور ما إذا كانت المجموعةping يطابق القصد، ثم يقترح الأقواس التي تُصلحه.

نعم. غالبًا ما يُعاد كتابة دالتي INTERSECT وEXCEPT باستخدام عبارة INNER JOIN أو NOT EXISTS، مما قد يُحسّن الأداء. قارن خطط التنفيذ قبل اعتماد إعادة الكتابة.

مقارنة أي قيمة مع قيمة فارغة (NULL) تُرجع قيمة غير معروفة (unknown) بدلاً من القيمة الصحيحة (true) أو الخاطئة (false)، لذا يتم استبعاد الصف. استخدم الدالتين IS NULL و IS NOT NULL بدلاً من عامل المساواة (equals).

تلخيص هذه التدوينة بـ: