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

MySQL क्वेरी: टेबल से कुछ मानों को बाहर करें

टेबल से कुछ मानों को बाहर करने के लिए NOT IN() का उपयोग करें।

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

mysql> create table DemoTable791 ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, FirstName varchar(100) ); 
Query OK, 0 rows affected (0.61 sec)

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

mysql> insert into DemoTable791(FirstName) values('Chris'); 
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable791(FirstName) values('Robert'); 
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable791(FirstName) values('David'); 
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable791(FirstName) values('Mike'); 
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable791(FirstName) values('Bob'); 
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable791(FirstName) values('Carol'); 
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable791(FirstName) values('Adam'); 
Query OK, 1 row affected (0.09 sec)

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

mysql> select * from DemoTable791;

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

+----+-----------+
| Id | FirstName |
+----+-----------+
| 1  | Chris     |
| 2  | Robert    |
| 3  | David     |
| 4  | Mike      |
| 5  | Bob       |
| 6  | Carol     |
| 7  | Adam      |
+----+-----------+
7 rows in set (0.00 sec)

MySQL में NOT IN() का उपयोग करके टेबल से कुछ मानों को बाहर करने की क्वेरी

mysql> select * from DemoTable791 where Id NOT IN(4,5,6);

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

+----+-----------+
| Id | FirstName |
+----+-----------+
| 1  | Chris     |
| 2  | Robert    |
| 3  | David     |
| 7  | Adam      |
+----+-----------+
4 rows in set (0.00 sec)

व्याख्या

  • NOT IN(4,5,6) ID 4, 5, 6 (Mike, Bob, Carol) को बाहर करता है
  • शेष पंक्तियाँ (1, 2, 3, 7) प्रदर्शित होती हैं
  • NOT IN सूची में NULL होने पर अप्रत्याशित परिणाम दे सकता है - सावधान रहें
  • बड़े डेटासेट के लिए NOT EXISTS या LEFT JOIN ... WHERE IS NULL अधिक कुशल हो सकता है

स्ट्रिंग मानों के साथ उदाहरण

SELECT * FROM DemoTable791 WHERE FirstName NOT IN ('Mike', 'Bob', 'Carol');
  1. - MySQL में टेबल में मौजूद न होने वाले मानों को कैसे क्वेरी करें?

    MySQL में किसी टेबल में मौजूद नहीं होने वाले मानों को खोजने के लिए, UNION ALL के साथ WHERE NOT EXISTS या NOT IN का उपयोग करें। यह गैप विश्लेषण या मिसिंग सीक्वेंस खोजने के लिए उपयोगी है। उदाहरण: मिसिंग ऑटो-इन्क्रीमेंट मान खोजना ऑटो-इन्क्रीमेंट टेबल बनाएं: mysql> CREATE TABLE DemoTable1918 (

  1. - MySQL में दो कॉलम के मान गिनें और NULL को बाहर रखें

    COUNT() फ़ंक्शन से NULL मानों को छोड़कर कॉलम मान गिनना COUNT(कॉलम_नाम) स्वचालित रूप से NULL मानों को अनदेखा करता है। दो कॉलम के गैर-NULL मानों का कुल योग पाने के लिए दोनों COUNT को जोड़ें। टेबल बनाएं और डेटा डालें: mysql> create table DemoTable1975 ( StudentName varchar(20), StudentMarks int ); Q

  1. - MySQL में INSERT INTO SELECT से दूसरी टेबल के मान लेकर नई टेबल भरें

    सिंटैक्स insert into targetTable(col1, col2) select sourceCol1, sourceCol2 from sourceTable where condition; उदाहरण insert into demo83(id,username) select id,name from demo82 where id=101; परिणाम +------+----------+ | id | username | +------+----------+ | 101 | Bob | | 101 | David |