SELECT *
FROM foo
WHERE id = $id
AND ( bar = $baz OR $baz [equals null, empty string, zero, whatever] )
मुझे नहीं पता कि MySQL कभी शॉर्ट सर्किट मूल्यांकन का उपयोग करता है या नहीं इसकी निष्पादन योजना में, लेकिन सस्ती तुलना को पहले रखना फायदेमंद हो सकता है, जैसे:
SELECT *
FROM foo
WHERE id = $id
AND ( $baz [equals null, empty string, zero, whatever] OR bar = $baz )
आप इस पद्धति का उपयोग कई मापदंडों के साथ कर सकते हैं।
SELECT *
FROM foo
WHERE id = $id
AND ( $baz [equals null, empty string, zero, whatever] OR bar = $baz )
AND ( $x = 0 or x = $x )
AND ( $y IS NULL OR y = $y )
-- etc.