वरीयता है तार्किक ऑपरेटरों के साथ। जब संदेह हो, तो कोष्ठक का प्रयोग करें।
आपके मामले में:
SELECT * FROM database WHERE (name = var1 OR name = var2 OR name = var3) AND id < 200
आपकी मूल क्वेरी की व्याख्या इस प्रकार की गई क्योंकि AND
उच्च प्राथमिकता है।
SELECT * FROM database WHERE name = var1 OR name = var2 OR (name = var3 AND id < 200)
अपडेट करें
रॉकेट . द्वारा टिप्पणी के अनुसार , आप अपने OR
. को संक्षिप्त कर सकते हैं IN
के लिए स्टेटमेंट
चूंकि वे एक ही क्षेत्र में काम करते हैं। ऐसा करने से कोष्ठकों की आवश्यकता समाप्त हो जाएगी।
SELECT * FROM database WHERE name IN (var1,var2,var3) AND id < 200
फिर भी, दो मूल प्रश्नों के बीच अंतर को समझना महत्वपूर्ण है क्योंकि आप अनिवार्य रूप से कई शर्तों के साथ प्रश्न लिखेंगे।