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

MySQL में एकल क्वेरी में मल्टीपल LIKE ऑपरेटर लागू करें

MySQL में एक ही क्वेरी में मल्टीपल LIKE क्लॉज का उपयोग करने के लिए, आप उन्हें OR/AND ऑपरेटर्स के साथ जोड़ सकते हैं। सिंटैक्स:

SELECT * FROM yourTableName 
WHERE (yourColumnName1 LIKE '%yourValue1%' OR yourColumnName2 LIKE '%yourValue2%') 
   OR (yourColumnName3 LIKE '%yourValue3%');

उदाहरण के लिए एक टेबल बनाते हैं:

mysql> create table DemoTable1534 ( 
    -> ClientId INT NOT NULL AUTO_INCREMENT PRIMARY KEY, 
    -> ClientName VARCHAR(20), 
    -> ClientAge INT, 
    -> ClientCountryName VARCHAR(20) 
    -> ); 
Query OK, 0 rows affected (0.78 sec)

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

mysql> insert into DemoTable1534(ClientName,ClientAge,ClientCountryName) values('Chris Brown',29,'AUS'); 
Query OK, 1 row affected (0.21 sec)
mysql> insert into DemoTable1534(ClientName,ClientAge,ClientCountryName) values('David Miller',49,'UK'); 
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable1534(ClientName,ClientAge,ClientCountryName) values('John Doe',43,'US'); 
Query OK, 1 row affected (0.22 sec)
mysql> insert into DemoTable1534(ClientName,ClientAge,ClientCountryName) values('Adam Smith',38,'US'); 
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable1534(ClientName,ClientAge,ClientCountryName) values('Carol Taylor',36,'UK'); 
Query OK, 1 row affected (0.16 sec)

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

mysql> select * from DemoTable1534;
+----------+--------------+-----------+-------------------+
| ClientId | ClientName   | ClientAge | ClientCountryName |
+----------+--------------+-----------+-------------------+
|        1 | Chris Brown  |        29 | AUS               |
|        2 | David Miller |        49 | UK                |
|        3 | John Doe     |        43 | US                |
|        4 | Adam Smith   |        38 | US                |
|        5 | Carol Taylor |        36 | UK                |
+----------+--------------+-----------+-------------------+
5 rows in set (0.00 sec)

मल्टीपल LIKE ऑपरेटर का उपयोग करने वाली क्वेरी:

mysql> select * from DemoTable1534 
    -> where ClientName LIKE ('%Doe%' OR ClientAge LIKE '%38%') 
    -> OR (ClientCountryName LIKE '%S');

परिणाम:

+----------+-------------+-----------+-------------------+
| ClientId | ClientName  | ClientAge | ClientCountryName |
+----------+-------------+-----------+-------------------+
|        1 | Chris Brown |        29 | AUS               |
|        3 | John Doe    |        43 | US                |
|        4 | Adam Smith  |        38 | US                |
+----------+-------------+-----------+-------------------+
3 rows in set, 5 warnings (0.00 sec)

व्याख्या

क्वेरी निम्नलिखित शर्तों के आधार पर रिकॉर्ड्स फ़िल्टर करती है:

  • ClientName LIKE '%Doe%' - 'Doe' नाम वाले क्लाइंट (John Doe)
  • ClientAge LIKE '%38%' - उम्र 38 वाले क्लाइंट (Adam Smith)
  • ClientCountryName LIKE '%S' - देश का नाम 'S' से समाप्त होने वाले क्लाइंट (AUS, US)

नोट: इस क्वेरी में 5 चेतावनियाँ (warnings) आईं क्योंकि संख्यात्मक कॉलम (ClientAge) पर LIKE का उपयोग करने से इम्प्लिसिट कन्वर्जन होता है। बेहतर अभ्यास है कि संख्यात्मक तुलना के लिए = या IN ऑपरेटर का उपयोग करें।

सुधारित क्वेरी

SELECT * FROM DemoTable1534 
WHERE ClientName LIKE '%Doe%' 
   OR ClientAge = 38 
   OR ClientCountryName LIKE '%S';
  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

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

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

  1. - MySQL में दशमलव बिंदु से दो स्थान पहले का अंक कैसे प्राप्त करें

    समाधान DIV ऑपरेटर का उपयोग करके पूर्णांक विभाजन करें। उदाहरण टेबल बनाएं: INSERT INTO demo1 VALUES (456.54), (50.64), (1000.78); क्वेरी SELECT value DIV 10 % 10 FROM demo1; परिणाम +-----------------+ | value DIV 10%10 | +-----------------+ | 5 | | 5 | | 0