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

MySQL में LIKE क्लॉज का उपयोग करके "Joh" से शुरू होने वाले मल्टीपल मान कैसे प्राप्त करें

LIKE पैटर्न के साथ प्रीफिक्स मैचिंग

"Joh" से शुरू होने वाले सभी नाम खोजने के लिए LIKE 'Joh%' पैटर्न का उपयोग करें।

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

mysql> CREATE TABLE DemoTable (
    Name VARCHAR(40)
);

रिकॉर्ड्स इन्सर्ट करें:

mysql> INSERT INTO DemoTable VALUES ('John');
mysql> INSERT INTO DemoTable VALUES ('Sam');
mysql> INSERT INTO DemoTable VALUES ('Mike');
mysql> INSERT INTO DemoTable VALUES ('Ethan');
mysql> INSERT INTO DemoTable VALUES ('Johnson');
mysql> INSERT INTO DemoTable VALUES ('Bob');

सभी रिकॉर्ड्स देखें:

mysql> SELECT * FROM DemoTable;

आउटपुट:

+---------+
| Name    |
+---------+
| John    |
| Sam     |
| Mike    |
| Ethan   |
| Johnson |
| Bob     |
+---------+

"Joh" से शुरू होने वाले मान खोजने के लिए क्वेरी (सबक्वेरी में UNION का उपयोग करते हुए):

mysql> SELECT * FROM (
    SELECT Name AS myValue FROM DemoTable
    UNION
    SELECT Name FROM DemoTable
) tbl WHERE myValue LIKE 'Joh%';

आउटपुट:

+---------+
| myValue |
+---------+
| John    |
| Johnson |
+---------+

व्याख्या:

  • LIKE 'Joh%' - "Joh" से शुरू होने वाले सभी स्ट्रिंग्स (Joh के बाद कुछ भी)
  • UNION: डुप्लिकेट्स हटाता है (यहां दोनों SELECT समान हैं, इसलिए UNION का प्रभाव डुप्लिकेट हटाना है)
  • myValue एलियास सबक्वेरी कॉलम को नाम देता है

सरल संस्करण (अनुशंसित):

SELECT Name FROM DemoTable WHERE Name LIKE 'Joh%';

उपरोक्त क्वेरी समान परिणाम देती है लेकिन सरल और अधिक कुशल है।

केस सेंसिटिविटी: डिफॉल्ट केस-इनसेंसिटिव। केस-सेंसिटिव: WHERE Name LIKE BINARY 'Joh%'।

इंडेक्स उपयोग: LIKE 'Joh%' (प्रीफिक्स) इंडेक्स उपयोग कर सकता है। LIKE '%Joh%' (कहीं भी) इंडेक्स उपयोग नहीं कर सकता।

  1. - MySQL में WHERE क्लॉज में एकाधिक शर्तों के साथ UPDATE कैसे करें?

    MySQL में UPDATE स्टेटमेंट के WHERE क्लॉज में AND ऑपरेटर का उपयोग करके एकाधिक शर्तें निर्दिष्ट करके विशिष्ट पंक्तियों को अपडेट किया जा सकता है। सिंटैक्स UPDATE table_name SET column = value WHERE condition1 AND condition2 AND ...; उदाहरण तालिका बनाएं और डेटा डालें: mysql> CREATE TABLE DemoTable

  1. - MySQL में कॉमा सेपरेटेड मानों के साथ रैंडम पंक्तियाँ कैसे प्राप्त करें?

    MySQL में रैंडम पंक्तियाँ प्राप्त करने के लिए ORDER BY RAND() का उपयोग किया जाता है। यदि आपके कॉलम में कॉमा सेपरेटेड मान हैं, तो आप NOT IN के साथ फ़िल्टर करके रैंडम परिणाम ले सकते हैं। टेबल बनाएं और डेटा डालें mysql> CREATE TABLE DemoTable1835 ( ListOfIds VARCHAR(20) ); mysql> INSERT INT

  1. - एकल MySQL क्वेरी में एक कॉलम में एकाधिक मान कैसे डालें?

    सिंटैक्स एक कॉलम में एकाधिक मान डालने के लिए, निम्नलिखित सिंटैक्स का उपयोग करें: INSERT INTO yourTableName VALUES (yourValue1), (yourValue2), ... (yourValueN); उदाहरण सबसे पहले एक टेबल बनाते हैं: ); अब INSERT कमांड का उपयोग करके रिकॉर्ड डालें: INSERT INTO DemoTable2022 VALUES (Computer Science)