SQL Server में COALESCE vs CASE Expression क्या हैं?
🧠 Definition (Memory के लिए)
COALESCE SQL Server में पहला non-NULL value return करता है। इसे आमतौर पर NULL values को replace करने के लिए उपयोग किया जाता है।
CASE Expression एक conditional logic है जो IF-ELSE की तरह काम करता है और अलग-अलग conditions के हिसाब से value return करता है।
🧩 Syntax
-- COALESCE Syntax
COALESCE(value1, value2, value3, ...)
-- CASE Syntax
CASE
WHEN condition THEN result
WHEN condition THEN result
ELSE default_value
END
🧪 Example
CREATE TABLE Employees (
EmpID INT,
FirstName VARCHAR(50),
MiddleName VARCHAR(50),
LastName VARCHAR(50)
);
INSERT INTO Employees VALUES
(1, 'Amit', NULL, 'Sharma'),
(2, 'Ravi', 'Kumar', 'Verma'),
(3, 'Suman', NULL, NULL);
-- COALESCE Example
SELECT EmpID,
COALESCE(MiddleName, FirstName, 'No Name') AS FinalName
FROM Employees;
-- CASE Example
SELECT EmpID,
CASE
WHEN MiddleName IS NOT NULL THEN MiddleName
WHEN FirstName IS NOT NULL THEN FirstName
ELSE 'No Name'
END AS FinalName
FROM Employees;
📤 Output
EmpID | FinalName
-----------------
1 | Amit
2 | Kumar
3 | Suman
💡 Explanation
- COALESCE सबसे पहला non-NULL value return करता है।
- CASE logical condition चेक करता है और उसके हिसाब से result देता है।
- COALESCE simple है, लेकिन CASE complex conditions के लिए बेहतर है।
- COALESCE internally CASE की तरह ही काम करता है — performance लगभग समान होती है।
🎯 Interview Questions & Answers
- Q: COALESCE का मुख्य उपयोग क्या है?
A: NULL values को replace करने और पहला non-NULL value return करने के लिए। - Q: COALESCE और CASE में performance difference क्या है?
A: Performance लगभग gleichen है, क्योंकि COALESCE internally CASE में convert होता है। - Q: कब CASE का उपयोग करना चाहिए?
A: जब आपको complex IF-ELSE conditions लागू करनी हों। - Q: COALESCE vs ISNULL में क्या अंतर है?
A: COALESCE multiple values ले सकता है जबकि ISNULL सिर्फ दो values।
📘 Conclusion
🔹 COALESCE NULL values को संभालने के लिए सबसे आसान और readable तरीका है।
🔹 CASE तब उपयोग करें जब आपको complex conditional logic चाहिए।
दोनों ही SQL Server में बहुत useful expressions हैं—use case के हिसाब से चुनें।

0 Comments