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

MySQL में एकाधिक NOT शर्तों के लिए NOT IN ऑपरेटर

WHERE id != 5 AND id != 10 AND id != 15 लिखने के बजाय NOT IN ऑपरेटर का उपयोग करें।

सिंटैक्स:

SELECT * FROM yourTableName WHERE yourColumnName NOT IN (value1, value2, value3);

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

CREATE TABLE User_informations (
    UserId INT,
    UserName VARCHAR(20)
);

रिकॉर्ड डालें (8 पंक्तियाँ)।

UserId 1, 2, 7 को छोड़कर सभी चुनें:

SELECT * FROM User_informations WHERE UserId NOT IN (1, 2, 7);

आउटपुट

+--------+----------+
| UserId | UserName |
+--------+----------+
| 12     | Maxwell  |
| 10     | Bob      |
| 14     | Sam      |
| 6      | Mike     |
| 4      | Robert   |
+--------+----------+

लाभ:

  • पठनीय और संक्षिप्त
  • रखरखाव में आसान
  • ऑप्टिमाइज़र द्वारा बेहतर निष्पादन योजना

सावधानी: यदि सूची में NULL है, तो NOT IN कोई पंक्ति नहीं लौटाएगा। ऐसे मामले में NOT EXISTS या LEFT JOIN ... WHERE IS NULL उपयोग करें।

-- NULL समस्या उदाहरण
SELECT * FROM t WHERE col NOT IN (1, 2, NULL); -- खाली परिणाम!
-- समाधान:
SELECT * FROM t WHERE col NOT IN (1, 2) AND col IS NOT NULL;
  1. - MySQL में एकल क्वेरी में मल्टीपल LIKE ऑपरेटर लागू करें

    MySQL में एक ही क्वेरी में मल्टीपल LIKE क्लॉज का उपयोग करने के लिए, आप उन्हें OR/AND ऑपरेटर्स के साथ जोड़ सकते हैं। सिंटैक्स: SELECT * FROM yourTableName WHERE (yourColumnName1 LIKE %yourValue1% OR yourColumnName2 LIKE %yourValue2%) OR (yourColumnName3 LIKE %yourValue3%); उदाहरण के लिए एक टेब

  1. - MySQL में LIKE ऑपरेटर के साथ एकाधिक फील्ड्स पर समान मान खोजना

    परिचय MySQL में CONCAT() फंक्शन का उपयोग करके एकाधिक कॉलम्स को जोड़कर, फिर LIKE ऑपरेटर से पैटर्न मिलान करके एक साथ कई फील्ड्स पर खोज की जा सकती है। उदाहरण: टेबल बनाना और डेटा डालना ); Query OK, 0 rows affected (0.58 sec) INSERT INTO DemoTable VALUES(John, MongoDB); Query OK, 1 row affected (0.12

  1. - MySQL में SELECT LIKE और CHAR_LENGTH() को एक ही क्वेरी में लागू करें

    आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable -> ( -> Name varchar(20) -> ); Query OK, 0 rows affected (0.49 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable values(Chris Brown); Query OK, 1 row affected (0.19 sec) mysql> insert