MySQL क्वेरी में जटिल फ़िल्टरिंग के लिए OR और AND ऑपरेटरों को संयोजित किया जा सकता है। कोष्ठक (parentheses) का उपयोग करके ऑपरेटर प्राथमिकता को नियंत्रित करना महत्वपूर्ण है।
उदाहरण के लिए टेबल बनाना
mysql> CREATE TABLE DemoTable (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Name VARCHAR(20),
Age INT
);
डेटा डालना (NULL मानों सहित)
mysql> INSERT INTO DemoTable(Name, Age) VALUES('John', 21);
mysql> INSERT INTO DemoTable(Name, Age) VALUES(NULL, 20);
mysql> INSERT INTO DemoTable(Name, Age) VALUES('David', 23);
mysql> INSERT INTO DemoTable(Name, Age) VALUES('Carol', NULL);
सभी रिकॉर्ड देखना
mysql> SELECT * FROM DemoTable;
आउटपुट
+----+-------+------+ | Id | Name | Age | +----+-------+------+ | 1 | John | 21 | | 2 | NULL | 20 | | 3 | David | 23 | | 4 | Carol | NULL | +----+-------+------+
OR और AND के साथ क्वेरी
यह क्वेरी उन रिकॉर्ड्स को चुनती है जहां नाम 'David' है या (नाम NULL है और उम्र 20 है):
mysql> SELECT * FROM DemoTable
-> WHERE Name='David' OR (Name IS NULL AND Age=20);
आउटपुट
+----+-------+------+ | Id | Name | Age | +----+-------+------+ | 2 | NULL | 20 | | 3 | David | 23 | +----+-------+------+
सर्वोत्तम अभ्यास: हमेशा कोष्ठक का उपयोग करें जब आप AND और OR को मिलाते हैं, ताकि तर्क स्पष्ट रहे और अप्रत्याशित परिणाम न मिलें।