एसएपी हाना - एसक्यूएल एक्सप्रेशंस

मूल्यों को वापस करने के लिए एक खंड का मूल्यांकन करने के लिए एक अभिव्यक्ति का उपयोग किया जाता है। अलग-अलग SQL अभिव्यक्तियाँ हैं जिनका उपयोग HANA में किया जा सकता है -

  • केस एक्सप्रेशन
  • समारोह अभिव्यक्तियाँ
  • अलग-अलग अभिव्यक्तियाँ
  • भावों में उपशम

मामले की अभिव्यक्ति

यह एक SQL अभिव्यक्ति में कई शर्तों को पारित करने के लिए प्रयोग किया जाता है। यह SQL कथन में प्रक्रियाओं का उपयोग किए बिना IF-ELSE-THEN तर्क का उपयोग करने की अनुमति देता है।

उदाहरण

SELECT COUNT( CASE WHEN sal < 2000 THEN 1 ELSE NULL END ) count1,
COUNT( CASE WHEN sal BETWEEN 2001 AND 4000 THEN 1 ELSE NULL END ) count2,
COUNT( CASE WHEN sal > 4000 THEN 1 ELSE NULL END ) count3 FROM emp;

यह कथन पास की स्थिति के अनुसार पूर्णांक मान के साथ count1, count2, count3 लौटाएगा।

समारोह अभिव्यक्तियाँ

अभिव्यक्तियों में अभिव्यक्त किए जाने वाले SQL इनबिल्ट फ़ंक्शंस शामिल होते हैं।

अलग-अलग अभिव्यक्तियाँ

एग्रीगेट फ़ंक्शंस का उपयोग जटिल गणना जैसे कि सम, परसेंटेज, मिन, मैक्स, काउंट, मोड, मेडियन आदि करने के लिए किया जाता है। एग्रीगेट एक्सप्रेशन का उपयोग कई मूल्यों से एकल मान की गणना करने के लिए एग्रीगेट फ़ंक्शंस का उपयोग करता है।

Aggregate Functions- सम, गणना, न्यूनतम, अधिकतम। इन्हें माप मूल्यों (तथ्यों) पर लागू किया जाता है और यह हमेशा एक आयाम से जुड़ा होता है।

सामान्य कुल कार्यों में शामिल हैं -

  • औसत ()
  • गिनती ()
  • ज्यादा से ज्यादा ()
  • मेडियन ()
  • न्यूनतम ()
  • मोड ()
  • सम ()

भावों में उपशम

एक अभिव्यक्ति के रूप में एक उपश्रेणी एक चयन कथन है। जब इसे एक अभिव्यक्ति में उपयोग किया जाता है, तो यह एक शून्य या एकल मान लौटाता है।

एक सबक्वेरी का उपयोग डेटा को वापस करने के लिए किया जाता है जिसका उपयोग मुख्य क्वेरी में डेटा को पुनः प्राप्त करने के लिए प्रतिबंधित करने के लिए एक शर्त के रूप में किया जाएगा।

उप-प्रकार का उपयोग SELECT, INSERT, UPDATE और DELETE कथनों के साथ किया जा सकता है जैसे ऑपरेटरों के साथ =, <,>,> =, <=, IN, BETWEEN आदि।

कुछ नियम हैं जिनका पालन करना होगा -

  • कोष्ठक के भीतर उप-विषयों को संलग्न किया जाना चाहिए।

  • सबक्लेरी में सेलेक्ट क्लॉज में केवल एक कॉलम हो सकता है, जब तक कि सबक्लेरी के मुख्य कॉलम में कई कॉलम अपने चुने हुए कॉलम की तुलना करने के लिए न हों।

  • ORDER BY का उपयोग एक उपश्रेणी में नहीं किया जा सकता है, हालांकि मुख्य क्वेरी ORDER BY का उपयोग कर सकती है। ग्रुप BY का उपयोग एक उप-समारोह में ORDER BY के समान कार्य करने के लिए किया जा सकता है।

  • एक से अधिक पंक्ति में आने वाली उप-प्रक्रिया का उपयोग केवल कई मूल्य ऑपरेटरों जैसे IN ऑपरेटर के साथ किया जा सकता है।

  • चयन सूची में उन मूल्यों का कोई संदर्भ शामिल नहीं हो सकता है जो एक BLOB, ARRAY, CLOB या NCLOB का मूल्यांकन करते हैं।

  • एक सेटक्वेरी को एक सेट फ़ंक्शन में तुरंत संलग्न नहीं किया जा सकता है।

  • BETWEEN ऑपरेटर का उपयोग एक सबक्वेरी के साथ नहीं किया जा सकता है; हालाँकि, BETWEEN ऑपरेटर का उपयोग उपकुंजी के भीतर किया जा सकता है।

चयन कथन के साथ उपश्रेणियाँ

सबक्वेरी का उपयोग अक्सर सेलेक्ट स्टेटमेंट के साथ किया जाता है। मूल वाक्य रचना इस प्रकार है -

उदाहरण

SELECT * FROM CUSTOMERS
WHERE ID IN (SELECT ID
FROM CUSTOMERS
WHERE SALARY > 4500) ;
+----+----------+-----+---------+----------+
| ID | NAME     | AGE | ADDRESS | SALARY   |
+----+----------+-----+---------+----------+
| 4  | Chaitali | 25  | Mumbai  | 6500.00  |
| 5  | Hardik   | 27  | Bhopal  | 8500.00  |
| 7  | Muffy    | 24  | Indore  | 10000.00 |
+----+----------+-----+---------+----------+