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

एकल MySQL क्वेरी में एक रिकॉर्ड को बाहर करें और NULL मान प्रदर्शित करें

NULL रिकॉर्ड जांचने के लिए IS NULL का उपयोग करें। हालांकि, किसी रिकॉर्ड को बाहर करने के लिए NOT IN क्लॉज का उपयोग करें। दोनों को एक ही क्वेरी में उपयोग करें।

आइए पहले एक टेबल बनाते हैं:

mysql> create table DemoTable793 ( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentName varchar(100) ); 
Query OK, 0 rows affected (0.81 sec)

इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें:

mysql> insert into DemoTable793(StudentName) values('Adam'); 
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable793(StudentName) values('Bob'); 
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable793(StudentName) values(null); 
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable793(StudentName) values('Chris'); 
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable793(StudentName) values('Robert'); 
Query OK, 1 row affected (1.03 sec)

सेलेक्ट स्टेटमेंट का उपयोग करके टेबल से सभी रिकॉर्ड प्रदर्शित करें:

mysql> select * from DemoTable793;

यह निम्नलिखिक आउटपुट देगा:

+-----------+-------------+
| StudentId | StudentName |
+-----------+-------------+
| 1         | Adam        |
| 2         | Bob         |
| 3         | NULL        |
| 4         | Chris       |
| 5         | Robert      |
+-----------+-------------+
5 rows in set (0.00 sec)

एक रिकॉर्ड को बाहर करें और NULL मान प्रदर्शित करने की क्वेरी

mysql> select * from DemoTable793 where StudentName NOT IN('Chris') OR StudentName IS NULL;

यह निम्नलिखिक आउटपुट देगा:

+-----------+-------------+
| StudentId | StudentName |
+-----------+-------------+
| 1         | Adam        |
| 2         | Bob         |
| 3         | NULL        |
| 5         | Robert      |
+-----------+-------------+
4 rows in set (0.00 sec)

व्याख्या

  • StudentName NOT IN('Chris') - 'Chris' को छोड़कर सभी पंक्तियाँ
  • OR StudentName IS NULL - या NULL मान वाली पंक्तियाँ
  • परिणाम: Adam, Bob, NULL (पंक्ति 3), Robert शामिल हैं; Chris बाहर है
  • महत्वपूर्ण: NOT IN के साथ NULL मान अप्रत्याशित व्यवहार कर सकते हैं यदि सूची में NULL हो

बेहतर विकल्प

SELECT * FROM DemoTable793 WHERE StudentName <> 'Chris' OR StudentName IS NULL;

या

SELECT * FROM DemoTable793 WHERE NOT (StudentName = 'Chris') OR StudentName IS NULL;
  1. - MySQL में BETWEEN का उपयोग करके एकाधिक इनपुट्स के लिए मान प्रदर्शित करने का सिंगल क्वेरी

    MySQL में BETWEEN ऑपरेटर का उपयोग करके रेंज क्वेरी BETWEEN ऑपरेटर आपको एक समावेशी रेंज में मानों का चयन करने की अनुमति देता है। यह कई OR शर्तों या IN() सूची लिखने की तुलना में संख्यात्मक या तिथि रेंज के लिए अधिक संक्षिप्त और पठनीय है। टेबल बनाना ); Query OK, 0 rows affected (0.72 sec) डेटा डालना

  1. - MySQL में ORDER BY बूलियन एक्सप्रेशन से रैप-अराउंड सॉर्टिंग लागू करें

    MySQL में बूलियन एक्सप्रेशन ( मान) का उपयोग करके सॉर्ट क्रम को नियंत्रित कर सकते हैं: TRUE (1) पहले, FALSE (0) बाद में, फिर प्रत्येक समूह के भीतर द्वितीयक सॉर्ट। उदाहरण: 10 से बड़े मान पहले (आरोही), फिर 10 या छोटे (आरोही) 1. टेबल बनाएं CREATE TABLE DemoTable (Value INT); 2. डेटा डालें INSERT IN

  1. - MySQL में AND और OR ऑपरेटर के साथ विशिष्ट रिकॉर्ड कैसे प्राप्त करें

    उदाहरण टेबल बनाएं: ); डेटा डालें: INSERT INTO DemoTable2015 VALUES (4, Robert, US); क्वेरी StudentName=David OR (StudentCountryName=UK AND StudentId=3): WHERE StudentName = David OR StudentCountryName = UK AND StudentId = 3; परिणाम +-----------+-------------+--------------------+ | Stu