OR ऑपरेटर का उपयोग
कई मानदंडों में से किसी एक को पूरा करने वाले रिकॉर्ड्स प्राप्त करने के लिए OR ऑपरेटर का उपयोग करें। इसे "वैकल्पिक रिकॉर्ड्स" भी कहा जा सकता है।
उदाहरण: टेबल बनाना और डेटा इन्सर्ट करना
mysql> CREATE TABLE DemoTable772 (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Name VARCHAR(100),
Age INT
);
Query OK, 0 rows affected (0.76 sec)
रिकॉर्ड्स इन्सर्ट करना
mysql> INSERT INTO DemoTable772(Name,Age) VALUES('Chris',21),('Robert',26),('Mike',27),
('Sam',24),('Carol',28),('David',25);
Query OK, 6 rows affected (...)
सभी रिकॉर्ड्स देखना
mysql> SELECT * FROM DemoTable772;
+----+--------+------+ | Id | Name | Age | +----+--------+------+ | 1 | Chris | 21 | | 2 | Robert | 26 | | 3 | Mike | 27 | | 4 | Sam | 24 | | 5 | Carol | 28 | | 6 | David | 25 | +----+--------+------+ 6 rows in set (0.00 sec)
OR कंडीशन क्वेरी
ID 2, 4, और 6 के रिकॉर्ड्स प्राप्त करने के लिए:
mysql> SELECT * FROM DemoTable772 WHERE Id=2 OR Id=4 OR Id=6;
परिणाम
+----+--------+------+ | Id | Name | Age | +----+--------+------+ | 2 | Robert | 26 | | 4 | Sam | 24 | | 6 | David | 25 | +----+--------+------+ 3 rows in set (0.01 sec)
बेहतर विकल्प: IN ऑपरेटर
एक ही कॉलम के कई मान जांचने के लिए IN अधिक संक्षिप्त और पठनीय है:
mysql> SELECT * FROM DemoTable772 WHERE Id IN (2,4,6);
IN vs OR तुलना
| पहलू | OR | IN |
|---|---|---|
| पठनीयता | कई कंडीशन्स में कम | अधिक संक्षिप्त |
| प्रदर्शन | समान (ऑप्टिमाइज़र समान प्लान बनाता है) | समान |
| रखरखाव | मान जोड़ना कठिन | आसान |
| सबक्वेरी | सीमित | सबक्वेरी सपोर्ट करता है |
उन्नत उपयोग: अलग-अलग कॉलम्स पर OR
SELECT * FROM DemoTable772 WHERE Name='Chris' OR Age=25 OR Id=3;
नोट
"वैकल्पिक रिकॉर्ड्स" (हर दूसरी पंक्ति) के लिए, MOD() या रो नंबर विंडो फंक्शन का उपयोग करें, OR कंडीशन का नहीं।