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

MySQL ट्यूटोरियल:MySQL IN स्टेटमेंट (उन्नत)

MySQL IN स्टेटमेंट का मूल उपयोग एक कॉलम को कई मानों से तुलना करने से संबंधित है। MySQL IN स्टेटमेंट के कुछ उन्नत उपयोग भी हैं जो दिलचस्प उपयोग के मामले बनाते हैं। नमूना तालिका पर विचार करें user_table जहां 5 उपयोगकर्ताओं को अलग-अलग अनुमतियां दी जाती हैं, जैसे कि व्यवस्थापक, सुपरयूज़र, आदि आधारित मान 1 या 0,

mysql> SELECT * FROM user_table;
+-----------+----------+--------------+----------+-----------+
| user_id   | is_admin | is_superuser | is_staff | is_active |
+-----------+----------+--------------+----------+-----------+
|    1      |    1     |       1      |     1    |     1     |
|    2      |    0     |       1      |     1    |     1     |
|    3      |    0     |       1      |     1    |     1     |
|    4      |    0     |       0      |     0    |     1     |
|    5      |    0     |       0      |     0    |     0     |
+-----------+----------+--------------+----------+-----------+

केस 1 का उपयोग करें:एक से अधिक कॉलम वाले मान की तुलना करने के लिए MySQL IN स्टेटमेंट

इसका सिंटैक्स है:

SELECT * FROM TableName WHERE value IN (column1, column2, column3, column4)

उदा,

mysql> SELECT * FROM user_table WHERE 1 IN (is_admin, is_superuser, is_staff, is_active);

+-----------+----------+--------------+----------+-----------+
| user_id   | is_admin | is_superuser | is_staff | is_active |
+-----------+----------+--------------+----------+-----------+
|    1      |    1     |       1      |     1    |     1     |
|    2      |    0     |       1      |     1    |     1     |
|    3      |    0     |       1      |     1    |     1     |
|    4      |    0     |       0      |     0    |     1     |
+-----------+----------+--------------+----------+-----------+

सामान्य IN कथन में केवल एक स्तंभ शामिल होता है कि एकाधिक मानों की तुलना में . किया जा रहा है ।

SELECT * FROM TableName WHERE column1 IN (1,2,3,4)

यह काम करता है

SELECT  * FROM   TableName WHERE  column1 = 1 OR column1 = 2 OR column1 = 3 OR column1 = 4

यह कथन एक VALUE है जो कि एकाधिक स्तंभों की तुलना में . है

SELECT * FROM TableName WHERE 1 IN (column1, column2, column3, column4)

के समान है

SELECT  * FROM   TableName WHERE  column1 = 1 OR column2 = 1 OR column3 = 1 OR column4 = 1

केस 2 का उपयोग करें:एक से अधिक मानों वाले एकाधिक कॉलम की तुलना करने के लिए MySQL IN स्टेटमेंट

इसका सिंटैक्स है:

SELECT * FROM TableName WHERE (column1,column2) in ((value1,value2),(value3,value4),..)

उदा,

mysql> SELECT * FROM user_table WHERE (is_staff,is_admin) in ((1,0),(1,1));
+-----------+----------+--------------+----------+-----------+
| user_id   | is_admin | is_superuser | is_staff | is_active |
+-----------+----------+--------------+----------+-----------+
|    1      |    1     |       1      |     1    |     1     |
|    2      |    0     |       1      |     1    |     1     |
+-----------+----------+--------------+----------+-----------+

यह के रूप में काम करता है

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP/MYSQL में एक के रूप में दो mysql प्रश्नों को कैसे निष्पादित करें?

  2. स्तंभ संख्या पंक्ति 1 पर मान गणना से मेल नहीं खाती

  3. क्लास डेटटाइम का ऑब्जेक्ट स्ट्रिंग में परिवर्तित नहीं किया जा सका

  4. इकाई फ्रेमवर्क के साथ MySQL का उपयोग करना

  5. सॉकेट '/var/mysql/mysql.sock' के माध्यम से स्थानीय MySQL सर्वर से कनेक्ट नहीं हो सकता (38)