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

MySQL में Null Values ​​की तुलना कैसे करें

कभी-कभी आपको शून्य मान वाले कॉलम की तुलना करने या दो कॉलम की तुलना करने की आवश्यकता हो सकती है जहां उनमें से एक में शून्य मान होते हैं, या यहां तक ​​​​कि कॉलम के लिए शून्य जांच भी करते हैं। इस लेख में हम देखेंगे कि MySQL में शून्य मानों की तुलना कैसे करें। आप इसे MySQL में नल तुलना के लिए उपयोग कर सकते हैं।


MySQL में Null Values ​​की तुलना कैसे करें

मान लें कि आपके पास निम्न तालिका है बिक्री (आईडी, आदेश_तिथि, लागत_मूल्य, बिक्री_मूल्य)

mysql> create table sales(
                id int, 
                order_date date, 
                cost_price int, 
                selling_price int);

mysql> describe sales;
+---------------+---------+------+-----+---------+-------+
| Field         | Type    | Null | Key | Default | Extra |
+---------------+---------+------+-----+---------+-------+
| id            | int(11) | YES  |     | NULL    |       |
| order_date    | date    | YES  |     | NULL    |       |
| cost_price    | int(11) | YES  |     | NULL    |       |
| selling_price | int(11) | YES  |     | NULL    |       |
+---------------+---------+------+-----+---------+-------+

mysql> insert into sales(id,order_date,cost_price,selling_price)
       values(1,'2020-11-01',150,250),
             (2,'2020-11-02',200,300);

mysql> insert into sales(id,order_date, cost_price) 
       values(3, '2020-11-03',100);

mysql> insert into sales(id,order_date, selling_price) 
       values(4, '2020-11-03',100);

mysql> select * from sales;
+------+------------+------------+---------------+
| id   | order_date | cost_price | selling_price |
+------+------------+------------+---------------+
|    1 | 2020-11-01 |        150 |           250 |
|    2 | 2020-11-02 |        200 |           300 |
|    3 | 2020-11-03 |        100 |          NULL |
|    4 | 2020-11-03 |       NULL |           100 |
+------+------------+------------+---------------+

मान लें कि आप उन पंक्तियों का चयन करना चाहते हैं जहां लागत मूल्य शून्य है। आमतौर पर, आप cost_price=null . जैसे व्यंजक का उपयोग करेंगे लेकिन यह NULL मानों के साथ काम नहीं करता है। शून्य तुलना के मामले में, आपको IS . का उपयोग करने की आवश्यकता है ऑपरेटर, यानी cost_price IS शून्य

तो निम्न SQL क्वेरी काम नहीं करेगी

mysql> select * from sales where cost_price=null;
Empty set (0.00 sec)

निम्न SQL क्वेरी काम करेगी . यहां उन पंक्तियों का चयन करने के लिए SQL क्वेरी है जहां cost_price शून्य है।

mysql> select * from sales where cost_price is null;
+------+------------+------------+---------------+
| id   | order_date | cost_price | selling_price |
+------+------------+------------+---------------+
|    4 | 2020-11-03 |       NULL |           100 |
+------+------------+------------+---------------+

यह भी पढ़ें :MySQL में दो कॉलम की तुलना कैसे करें

इसी तरह, यहां उन पंक्तियों का चयन करने के लिए SQL क्वेरी है जहां cost_price NULL नहीं है। इस मामले में, हम IS NOT . का उपयोग करते हैं ऑपरेटर।

mysql> select * from sales where cost_price is not null;
+------+------------+------------+---------------+
| id   | order_date | cost_price | selling_price |
+------+------------+------------+---------------+
|    1 | 2020-11-01 |        150 |           250 |
|    2 | 2020-11-02 |        200 |           300 |
|    3 | 2020-11-03 |        100 |          NULL |
+------+------------+------------+---------------+

आप IS NULL और IS NOT NULL का उपयोग UPDATE, INSERT और DELETE स्टेटमेंट के साथ कर सकते हैं।


अद्यतन विवरण के साथ

mysql> update sales
       set selling_price=350
       where cost_price is null;

mysql> select * from sales;
+------+------------+------------+---------------+
| id   | order_date | cost_price | selling_price |
+------+------------+------------+---------------+
|    1 | 2020-11-01 |        150 |           250 |
|    2 | 2020-11-02 |        200 |           300 |
|    3 | 2020-11-03 |        100 |          NULL |
|    4 | 2020-11-03 |       NULL |           350 |
+------+------------+------------+---------------+

यह भी पढ़ें :MySQL में हर Nth रो कैसे प्राप्त करें


INSERT कथन के साथ

यहां एक उदाहरण दिया गया है जो INSERT कथन में MySQL NULL तुलना का उपयोग करता है।

mysql> insert into new_sales(id,order_date, cost_price, selling_price)
      select * from sales
      where cost_price is null;


डिलीट स्टेटमेंट के साथ

डिलीट स्टेटमेंट में नल तुलना का उपयोग करने के लिए यहां एक उदाहरण दिया गया है।

mysql> delete from sales
       where cost_price is null;

mysql> select * from sales;
+------+------------+------------+---------------+
| id   | order_date | cost_price | selling_price |
+------+------------+------------+---------------+
|    1 | 2020-11-01 |        150 |           250 |
|    2 | 2020-11-02 |        200 |           300 |
|    3 | 2020-11-03 |        100 |          NULL |
+------+------------+------------+---------------+

उम्मीद है, यह लेख आपको MySQL में NULL मानों की तुलना करने में मदद करेगा। Ubiq डेटा की कल्पना करना और रीयल-टाइम डैशबोर्ड में उनकी निगरानी करना आसान बनाता है। Ubiq को निःशुल्क आज़माएं।

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. बिना किसी परवाह किए IN मान के लिए डिफ़ॉल्ट परिणाम लौटाएं

  2. MySQL में Oracle के RowID के बराबर

  3. Laravel में इसे कैसे करें, सबक्वेरी जहां in

  4. CONV () - MySQL में विभिन्न आधारों के बीच संख्याओं को परिवर्तित करें

  5. MAX () - MySQL में एक कॉलम में अधिकतम मान का पता लगाएं