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

MySQL में बूलियन फील्ड के आधार पर केवल एक फील्ड प्राप्त करें

MySQL WHERE क्लॉज: बूलियन कॉलम के आधार पर कॉलम चुनना

MySQL में BOOLEAN (या TINYINT(1)) कॉलम का उपयोग करके पंक्तियों को फ़िल्टर करना सरल है: WHERE boolean_col = TRUE या WHERE boolean_col (सत्य मान के लिए)।

उदाहरण: विवाहित कर्मचारियों के नाम प्राप्त करें

टेबल बनाएं:

CREATE TABLE DemoTable (
    EmployeeId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    EmployeeName VARCHAR(40),
    IsMarried BOOLEAN
);

INSERT INTO DemoTable (EmployeeName, IsMarried) VALUES 
('Chris', TRUE), ('Robert', FALSE), ('Mike', FALSE), ('Bob', TRUE), ('Tom', TRUE);

डेटा (बूलियन 1/0 के रूप में स्टोर):

+------------+--------------+-----------+
| EmployeeId | EmployeeName | IsMarried |
+------------+--------------+-----------+
| 1          | Chris        | 1         |
| 2          | Robert       | 0         |
| 3          | Mike         | 0         |
| 4          | Bob          | 1         |
| 5          | Tom          | 1         |
+------------+--------------+-----------+

विवाहित कर्मचारियों के नाम

SELECT EmployeeName FROM DemoTable WHERE IsMarried = TRUE;

या संक्षिप्त:

SELECT EmployeeName FROM DemoTable WHERE IsMarried;

परिणाम:

+--------------+
| EmployeeName |
+--------------+
| Chris        |
| Bob          |
| Tom          |
+--------------+

बूलियन मान

अविवाहित के लिए

CREATE INDEX idx_married ON DemoTable(IsMarried);
  1. - MySQL में ENUM कॉलम से केवल 'NO' मानों की गणना करें

    MySQL में ENUM कॉलम पर सशर्त गणना के लिए बूलियन अभिव्यक्ति का योग (SUM(condition)) उपयोग कर सकते हैं। MySQL में TRUE = 1 और FALSE = 0 होता है। टेबल बनाएं mysql> CREATE TABLE DemoTable1829 ( Name VARCHAR(20), isTopper ENUM(YES,NO) ); डेटा डालें mysql> INSERT INTO DemoTable1829 VALUES(

  1. - MySQL में कॉलम मान के पहले अक्षर को प्राप्त करके दूसरे कॉलम में डालें

    समाधान LEFT() फंक्शन का उपयोग करके पहले अक्षर को निकालें और UPDATE से दूसरे कॉलम में स्टोर करें। उदाहरण टेबल बनाएं: INSERT INTO DemoTable2036 (Title) VALUES (Chris), (John), (Adam); अपडेट क्वेरी UPDATE DemoTable2036 SET FirstLetter = LEFT(Title, 1); परिणाम +-------------+-------+ | FirstLetter

  1. - MySQL में टेबल A की तुलना में टेबल B में नहीं होने पर टेबल C में डेटा डालें

    समाधान टेबल A और B पर LEFT JOIN का उपयोग करें, जहां B में मेल नहीं खाता वहां के रिकॉर्ड टेबल C में डालें। उदाहरण टेबल A (demo20): INSERT INTO demo20 VALUES (100,John), (101,Bob), (102,Mike), (103,Carol); टेबल B (demo21): INSERT INTO demo21 VALUES (100,Sam), (101,Adam), (133,Bob), (145,David); ट

© कॉपीराइट https://in.wsxdn.com सर्वाधिकार सुरक्षित
लिटरलस्टोर मानअर्थ
TRUE / true1सत्य
FALSE / false0असत्य
NULLNULLअज्ञात