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

जब हम कई NULL मान वाले कॉलम के साथ DISTINCT क्लॉज का उपयोग करते हैं तो MySQL क्या लौटाता है?

<घंटा/>

जब हम एक से अधिक NULL मान वाले कॉलम पर DISTINCT क्लॉज का उपयोग करते हैं तो सभी NULL मानों को MySQL द्वारा समान माना जाता है।

इसका मतलब है कि DISTINCT क्लॉज के गुणों के अनुसार, MySQL परिणाम सेट में केवल एक NULL मान लौटाएगा और अन्य को समाप्त कर देगा। 'टेस्टिंग' नाम की एक टेबल के उदाहरण पर विचार करें, जिसमें 'Lname' कॉलम में कई NULL मान हैं।

mysql> Select * from testing;
+------+---------+---------+
| id   | fname   | Lname   |
+------+---------+---------+
|  200 | Raman   | Kumar   |
|  201 | Sahil   | Bhalla  |
|  202 | Gaurav  | NULL    |
|  203 | Aarav   | NULL    |
|  204 | Harshit | Khurana |
|  205 | Rahul   | NULL    |
|  206 | Piyush  | Kohli   |
|  207 | Lovkesh | NULL    |
+-----+---------+----------+
8 rows in set (0.00 sec)

mysql> SELECT DISTINCT Lname from testing;
+---------+
| Lname   |
+---------+
| Kumar   |
| Bhalla  |
| NULL    |
| Khurana |
| Kohli   |
+---------+
5 rows in set (0.00 sec)

उपरोक्त क्वेरी से, यह देखा जा सकता है कि जब हम 'Lname' कॉलम पर चार NULL मान वाले DISTINCT क्लॉज का उपयोग करते हैं, तो MySQL केवल एक NULL लौटाता है और अन्य को समाप्त कर देता है।


  1. MySQL क्वेरी केवल रिक्त स्थान वाले संबंधित कॉलम वाले कॉलम मान प्रदर्शित करने के लिए

    इसके लिए TRIM() फंक्शन का इस्तेमाल करें। आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable826(FirstName varchar(100), Age int);क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.60 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें। यहां, हमने कुछ रिकॉर्ड्स के लिए फर्स्टनाम को व्हाइटस्पेस के रूप में सेट कि

  1. "जोह" से शुरू होने वाले कई मान प्राप्त करने के लिए MySQL LIKE क्लॉज का उपयोग कैसे करें

    आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable(Name varchar(40));क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.55 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - डेमोटेबल मानों (बॉब) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.12 सेकंड) चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शि

  1. MySQL WHERE क्लॉज में कई मानों के साथ अपडेट करें

    आइए पहले एक टेबल बनाएं - );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.81 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - डेमोटेबल मानों में डालें ( 103,कैरोल,28,एयूएस);क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.21 सेकंड) चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें - डेमोटेबल से