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

MySQL में ID और नाम की शर्तों के साथ SELECT क्वेरी

WHERE क्लॉज में एकाधिक शर्तें (AND)

एक से अधिक कॉलम्स पर शर्तें लागू करने के लिए WHERE क्लॉज में AND ऑपरेटर का उपयोग करें। सभी शर्तें पूरी होनी चाहिए।

उदाहरण: टेबल बनाना और डेटा इन्सर्ट करना

mysql> CREATE TABLE DemoTable819(
    StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    StudentName VARCHAR(100)
);
Query OK, 0 rows affected (0.88 sec)

रिकॉर्ड्स इन्सर्ट करना

mysql> INSERT INTO DemoTable819(StudentName) VALUES
    ('Chris'),('Robert'),('Adam'),('Mike'),('Sam');
Query OK, 5 rows affected (...)

सभी रिकॉर्ड्स देखना

mysql> SELECT * FROM DemoTable819;
+-----------+-------------+
| StudentId | StudentName |
+-----------+-------------+
| 1         | Chris       |
| 2         | Robert      |
| 3         | Adam        |
| 4         | Mike        |
| 5         | Sam         |
+-----------+-------------+
5 rows in set (0.00 sec)

नाम और ID दोनों पर शर्त के साथ क्वेरी

mysql> SELECT * FROM DemoTable819 
    WHERE StudentName = 'Robert' AND StudentId > 1;

परिणाम

+-----------+-------------+
| StudentId | StudentName |
+-----------+-------------+
| 2         | Robert      |
+-----------+-------------+
1 row in set (0.00 sec)

क्वेरी व्याख्या

  • StudentName = 'Robert' - नाम 'Robert' होना चाहिए
  • StudentId > 1 - ID 1 से बड़ा होना चाहिए
  • AND - दोनों शर्तें सत्य होनी चाहिए

संबंधित ऑपरेटर्स

ऑपरेटरउद्देश्यउदाहरण
ANDसभी शर्तें सत्य होंAge > 18 AND Status = 'Active'
ORकम से कम एक शर्त सत्य होCity = 'Delhi' OR City = 'Mumbai'
NOTशर्त असत्य होNOT (Age < 18)
INमान सूची में होId IN (1,2,3)
BETWEENरेंज में होAge BETWEEN 18 AND 65
LIKEपैटर्न मिलानName LIKE 'R%'
IS NULLNULL मान जांचEmail IS NULL

जटिल शर्तें: कोष्ठक का उपयोग

SELECT * FROM DemoTable819 
WHERE (StudentName = 'Robert' OR StudentName = 'Chris') 
  AND StudentId > 1;

संक्षिप्त सिंटैक्स: एकाधिक मान

-- नाम के लिए IN
WHERE StudentName IN ('Robert', 'Chris') AND StudentId > 1

-- रेंज के लिए BETWEEN
WHERE StudentId BETWEEN 2 AND 4 AND StudentName LIKE 'R%'

प्रदर्शन टिप

  • WHERE क्लॉज में उपयोग किए जाने वाले कॉलम्स पर इंडेक्स बनाएं
  • सबसे सेलेक्टिव (सबसे कम मिलान वाली) शर्त पहले रखें
  • EXPLAIN का उपयोग करके क्वेरी प्लान जांचें
  1. - MySQL में शर्त के साथ ORDER BY और SELECT कैसे करें?

    कंडीशनल ORDER BY: जीरो वैल्यू अंत में किसी कॉलम को सॉर्ट करते समय खास मान (जैसे 0) को अंत में रखने और बाकी को नॉर्मल ऑर्डर में रखने के लिए बूलियन एक्सप्रेशन का उपयोग करें। सिंटैक्स SELECT * FROM yourTableName ORDER BY yourColumnName = 0, yourColumnName; टेबल बनाना और डेटा इन्सर्ट करना CREATE TABL

  1. - MySQL से कॉलम नाम और प्रकार कैसे निकालें?

    कॉलम नाम और प्रकार निकालने के लिए INFORMATION_SCHEMA.COLUMNS का उपयोग करें: select concat(column_name,=,data_type) as anyAliasName from information_schema.columns where table_schema= yourDatabaseName and table_name= yourTableName; आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable1812 (

  1. - MySQL में CASE स्टेटमेंट से प्रत्येक SELECT फील्ड के लिए शर्ती WHERE

    CASE एक्सप्रेशन से कॉलम-विशिष्ट शर्ती एग्रीगेशन WHERE क्लॉज के बजाय CASE स्टेटमेंट का उपयोग करके प्रत्येक चयनित फील्ड के लिए अलग-अलग शर्तें लागू करें। टेबल बनाएं और डेटा डालें: mysql> create table DemoTable1988 ( Value1 int, Value2 int, Price int ); Query OK, 0 rows affected (0.64 sec) mysql>