← Back to PostgreSQL Course | Chapter 5: Filtering & Functions | Lesson 5 of 7

CASE WHEN का उपयोग

CASE WHEN एक query के अंदर if/else logic add करता है।

In this page:

  1. CASE WHEN
Syntax
sql
SELECT CASE
         WHEN condition1 THEN result1
         WHEN condition2 THEN result2
         ELSE default_result
       END
FROM table_name;

CASE WHEN

CASE WHEN condition THEN result ... ELSE default END order में conditions evaluate करता है और पहला matching result return करता है। यह SELECT, WHERE, ORDER BY, और aggregates के अंदर appear हो सकता है।

Simple form CASE column WHEN value THEN ... एक column को values के against compare करता है।

Note: एक ELSE branch add करें, नहीं तो unmatched rows NULL return करती हैं।

उदाहरण: CASE WHEN

sql
CREATE TABLE marks (id INTEGER PRIMARY KEY, name TEXT, score INTEGER);
INSERT INTO marks VALUES (1, 'Ada', 92), (2, 'Bob', 74), (3, 'Cy', 55), (4, 'Di', 38);
SELECT name, score,
  CASE WHEN score >= 90 THEN 'A' WHEN score >= 70 THEN 'B' WHEN score >= 50 THEN 'C' ELSE 'F' END AS grade
FROM marks ORDER BY id;
SELECT SUM(CASE WHEN score >= 50 THEN 1 ELSE 0 END) AS passed FROM marks;

-- Output:
-- name | score | grade
-- Ada | 92 | A
-- Bob | 74 | B
-- Cy | 55 | C
-- Di | 38 | F
-- passed
-- 3
Related Topics
{# common_mistakes/chapter_summary/browser_support: on Hindi pages the view already swaps in the hi_ translation fields (or blanks these out if untranslated), so this renders correctly for both languages without a lang_code check here. #}
आम गलतियां
  1. END भूल जाना
  2. ELSE omit करना और NULL पाना
  3. गलत order में overlapping conditions
चैप्टर सारांश
  • CASE WHEN ... THEN ... ELSE ... END syntax इस्तेमाल होता है
  • Conditions order में check होती हैं
  • कोई ELSE नहीं मतलब NULL return होता है
  • SELECT, ORDER BY, और aggregates में इस्तेमाल योग्य
🔒

Chapter Quiz — Complete all 7 topics to unlock

0/7 topics done

Complete these topics first:

Login to run this code

C/C++/Java/PHP execution requires a free account. Your code is saved — you'll land right back in the editor after logging in.