Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

SQL क्वेरी जहां फ़ील्ड में $x . नहीं है

यह कैसा क्षेत्र है? IN ऑपरेटर का उपयोग किसी एक फ़ील्ड के साथ नहीं किया जा सकता है, लेकिन इसका उपयोग सबक्वेरी या पूर्वनिर्धारित सूचियों के साथ किया जाना है:

-- subquery
SELECT a FROM x WHERE x.b NOT IN (SELECT b FROM y);
-- predefined list
SELECT a FROM x WHERE x.b NOT IN (1, 2, 3, 6);

यदि आप कोई स्ट्रिंग खोज रहे हैं, तो LIKE ऑपरेटर चुनें (लेकिन यह धीमा होगा):

-- Finds all rows where a does not contain "text"
SELECT * FROM x WHERE x.a NOT LIKE '%text%';

यदि आप इसे प्रतिबंधित करते हैं ताकि आप जिस स्ट्रिंग को खोज रहे हैं वह दिए गए स्ट्रिंग से शुरू हो, यह इंडेक्स का उपयोग कर सकता है (यदि उस फ़ील्ड पर कोई इंडेक्स है) और उचित रूप से तेज़ हो:

-- Finds all rows where a does not start with "text"
SELECT * FROM x WHERE x.a NOT LIKE 'text%';


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mySQL ऑटो इंक्रीमेंट 10 से बढ़ रहा है (ClearDB और Node)

  2. एक IN स्थिति sql में =से धीमी क्यों होगी?

  3. पहले विशिष्ट फ़ील्ड मान द्वारा आदेश देना

  4. क्लाउड में अपने डेटाबेस क्लस्टर तक सुरक्षित पहुंच के लिए OpenVPN का उपयोग करना

  5. लेवेनशेटिन:MySQL + PHP