Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में OR कंडीशन से वैकल्पिक रिकॉर्ड्स प्राप्त करना

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 तुलना

पहलूORIN
पठनीयताकई कंडीशन्स में कमअधिक संक्षिप्त
प्रदर्शनसमान (ऑप्टिमाइज़र समान प्लान बनाता है)समान
रखरखावमान जोड़ना कठिनआसान
सबक्वेरीसीमितसबक्वेरी सपोर्ट करता है

उन्नत उपयोग: अलग-अलग कॉलम्स पर OR

SELECT * FROM DemoTable772 
WHERE Name='Chris' OR Age=25 OR Id=3;

नोट

"वैकल्पिक रिकॉर्ड्स" (हर दूसरी पंक्ति) के लिए, MOD() या रो नंबर विंडो फंक्शन का उपयोग करें, OR कंडीशन का नहीं।

  1. - MySQL में अलग कॉलम वाली टेबल में रिकॉर्ड कैसे कॉपी करें?

    MySQL में एक टेबल से दूसरी टेबल में डेटा कॉपी करने के लिए, जब कॉलम नाम या संरचना अलग हो, तो INSERT INTO ... SELECT स्टेटमेंट का उपयोग करें। यह कॉलम मैपिंग को स्पष्ट रूप से परिभाषित करने की अनुमति देता है। उदाहरण: अलग कॉलम नामों के साथ डेटा कॉपी स्रोत टेबल बनाएं (ऑटो-इन्क्रीमेंट प्राइमरी की के साथ)

  1. - MySQL में IN() क्लॉज़ के साथ एक क्वेरी में रिकॉर्ड कैसे डिलीट करें?

    MySQL में एक ही क्वेरी में एकाधिक विशिष्ट रिकॉर्ड डिलीट करने के लिए, DELETE स्टेटमेंट के साथ IN() ऑपरेटर का उपयोग करें। यह एकाधिक DELETE स्टेटमेंट चलाने से अधिक कुशल और पठनीय है। उदाहरण: विशिष्ट StudentId वाले रिकॉर्ड डिलीट करना डेमो टेबल बनाएं: mysql> CREATE TABLE DemoTable1922 ( StudentI

  1. - MySQL में स्टोर्ड प्रोसीजर से टेबल रिकॉर्ड कैसे प्रदर्शित करें?

    MySQL में स्टोर्ड प्रोसीजर के अंदर SELECT स्टेटमेंट रखकर टेबल रिकॉर्ड्स प्रदर्शित कर सकते हैं। यह एनकैप्सुलेशन, पुन: उपयोग, और सुरक्षा (टेबल पर सीधे SELECT अधिकार दिए बिना डेटा एक्सेस) के लिए उपयोगी है। उदाहरण: सभी रिकॉर्ड प्रदर्शित करने वाला प्रोसीजर डेमो टेबल बनाएं: mysql> CREATE TABLE DemoT