MySQL में AND ऑपरेटर की प्राथमिकता OR से अधिक होती है। इसलिए TRUE OR TRUE AND FALSE का मूल्यांकन TRUE OR (TRUE AND FALSE) के रूप में होता है।
चरण-दर-चरण मूल्यांकन
- पहले AND:
TRUE AND FALSE→FALSE(0) - फिर OR:
TRUE OR FALSE→TRUE(1)
MySQL में सत्यापन
mysql> SELECT (TRUE AND FALSE);
+------------------+ | (TRUE AND FALSE) | +------------------+ | 0 | +------------------+
mysql> SELECT (TRUE OR FALSE);
+-----------------+ | (TRUE OR FALSE) | +-----------------+ | 1 | +-----------------+
mysql> SELECT (TRUE OR TRUE AND FALSE);
+--------------------------+ | (TRUE OR TRUE AND FALSE) | +--------------------------+ | 1 | +--------------------------+
सर्वोत्तम अभ्यास: भ्रम से बचने के लिए हमेशा कोष्ठक का उपयोग करें: (TRUE OR TRUE) AND FALSE → FALSE। MySQL ऑपरेटर प्राथमिकता क्रम (उच्च से निम्न): INTERVAL, BINARY, NOT, *, /, %, +, -, <<, >>, &, |, =, <=>, >=, >, <=, <, <>, !=, IS, LIKE, REGEXP, IN, BETWEEN, AND, OR, = (असाइनमेंट)।