MySQL ऑपरेटर्स का मूल्यांकन पूर्वता (precedence) क्रम में करता है। उच्च पूर्वता वाले ऑपरेटर्स पहले मूल्यांकित होते हैं। समान पूर्वता पर बाएं-से-दाएं।
ऑपरेटर पूर्वता क्रम (उच्च से निम्न)
INTERVAL
BINARY, COLLATE
! (लॉजिकल NOT)
- (यूनरी माइनस), ~ (बिट इनवर्जन)
^ (बिटवाइज XOR)
*, /, DIV, %, MOD
-, + (जोड़/घटाव)
<<, >> (बिट शिफ्ट)
& (बिटवाइज AND)
| (बिटवाइज OR)
=, <=>, >=, >, <=, <, <>, !=, IS, LIKE, REGEXP, IN
BETWEEN, CASE, WHEN, THEN, ELSE
NOT
&&, AND
XOR
||, OR
:= (असाइनमेंट)
उदाहरण: पूर्वता प्रभाव
mysql> SELECT 5 + 3 / 2 - 2;
+---------+
| 5+3/2-2 |
+---------+
| 4.5000 |
+---------+
मूल्यांकन क्रम
3 / 2= 1.5 (उच्च पूर्वता:/)5 + 1.5= 6.5 (+और-समान पूर्वता, बाएं-से-दाएं)6.5 - 2= 4.5
स्पष्टता के लिए पैरेंथेसिस उपयोग करें
SELECT (5 + 3) / (2 - 2); -- त्रुटि: शून्य से विभाजन
SELECT (5 + 3) / 2 - 2; -- 4 - 2 = 2
SELECT 5 + (3 / 2) - 2; -- 5 + 1.5 - 2 = 4.5 (डिफ़ॉल्ट)
सामान्य गलतियां
NOT a = b→(NOT a) = bनहींNOT (a = b)—NOT (a = b)याa != bलिखेंa AND b OR c→(a AND b) OR c— इरादाa AND (b OR c)हो तो पैरेंथेसिस डालें
सर्वोत्तम अभ्यास: जटिल एक्सप्रेशन्स में हमेशा पैरेंथेसिस उपयोग करें — पठनीयता बढ़ती है और बग्स रोकता है।