जैसा कि हम जानते हैं कि यदि कोई तुलना या शर्त सत्य नहीं है तो CASE कथन परिणाम लौटाता है ELSE . के बाद निर्दिष्ट बयान। लेकिन क्या होगा अगर कोई ELSE . नहीं है कथन, तो इस स्थिति में, CASE कथन NULL लौटाएगा। इसे प्रदर्शित करने के लिए एक उदाहरण निम्नलिखित है।
उदाहरण
mysql> Select CASE 100 -> WHEN 150 THEN 'It is matched' -> WHEN 200 THEN 'It is not matched' -> END As 'It Returns NULL'; +-----------------+ | It Returns NULL | +-----------------+ | NULL | +-----------------+ 1 row in set (0.00 sec)
नीचे दी गई क्वेरी, 'छात्र' तालिका के डेटा का उपयोग करते हुए, NULL लौटाती है क्योंकि कोई भी छात्र देश WI से संबंधित नहीं है।
mysql> Select SUM(CASE WHEN country = 'USA' THEN 1 ELSE 0 END) AS USA, -> SUM(CASE WHEN country = 'UK' THEN 1 ELSE 0 END) AS UK, -> SUM(CASE WHEN country = 'INDIA' THEN 1 ELSE 0 END) AS INDIA, -> SUM(CASE WHEN country = 'Russia' THEN 1 ELSE 0 END) AS Russia, -> SUM(CASE WHEN country = 'France' THEN 1 ELSE 0 END) AS France, -> SUM(CASE WHEN country = 'NZ' THEN 1 ELSE 0 END) AS NZ, -> SUM(CASE WHEN country = 'Australia' THEN 1 ELSE 0 END) AS Australia, -> SUM(CASE WHEN country = 'WI' THEN 1 END) AS WI -> From Students; +------+------+-------+--------+--------+------+-----------+------+ | USA | UK | INDIA | Russia | France | NZ | Australia | WI | +------+------+-------+--------+--------+------+-----------+------+ | 2 | 1 | 2 | 1 | 1 | 1 | 1 | NULL | +------+------+-------+--------+--------+------+-----------+------+ 1 row in set (0.00 sec)