शुरू करेंमुफ़्त में शुरू करें

अपने CASE स्टेटमेंट को फ़िल्टर करना

आइए इटली की Bologna टीम के जीते गए मैचों की सूची बनाते हैं! दोनों टेबल में कई अतिरिक्त टीमें हैं, इसलिए उपयोगी क्वेरी बनाने का एक अहम हिस्सा WHERE क्लॉज़ में CASE स्टेटमेंट को फ़िल्टर के रूप में इस्तेमाल करना होगा.

CASE स्टेटमेंट आपको उस डेटा को श्रेणीबद्ध करने देता है जिसमें आप रुचि रखते हैं — और वह डेटा बाहर रखने देता है जिसमें आपकी रुचि नहीं है. ऐसा करने के लिए, आप WHERE स्टेटमेंट में CASE स्टेटमेंट को फ़िल्टर की तरह इस्तेमाल कर सकते हैं ताकि ऐसा आउटपुट हट जाए जिसे आप नहीं देखना चाहते.

आप इसे इस तरह सेट कर सकते हैं:

SELECT *
FROM table
WHERE 
    CASE WHEN a > 5 THEN 'Keep'
         WHEN a <= 5 THEN 'Exclude' END = 'Keep';

मूल रूप से, आप CASE स्टेटमेंट को अपने डेटाबेस की किसी भी अन्य कॉलम की तरह एक फ़िल्टरिंग कॉलम के रूप में उपयोग कर सकते हैं. एकमात्र अंतर यह है कि आप WHERE में इस स्टेटमेंट को alias नहीं करते.

यह अभ्यास पाठ्यक्रम का हिस्सा है

SQL में Data Manipulation

पाठ्यक्रम देखें

अभ्यास निर्देश

  • WHERE क्लॉज़ में CASE स्टेटमेंट का उपयोग करें ताकि जहाँ hometeam_id 9857 हो और home goals, away goals से अधिक हों, वहाँ फ़िल्टर हो.
  • WHERE क्लॉज़ में CASE स्टेटमेंट का उपयोग करें ताकि जहाँ awayteam_id 9857 हो और away goals, home goals से अधिक हों, वहाँ फ़िल्टर हो.
  • CASE स्टेटमेंट को इस तरह समाप्त करें कि जिन खेलों में Bologna ने जीत नहीं दर्ज की, वे बाहर हो जाएँ.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

SELECT 
	season,
    date,
	home_goal,
	away_goal
FROM matches_italy
WHERE 
	-- Find games where home_goal is more than away_goal
	___ ___ hometeam_id = 9857 ___ home_goal ___ away_goal ___ 'Bologna Win'
		-- Find games where away_goal is more than home_goal
        ___ awayteam_id = 9857 ___ away_goal ___ home_goal ___ 'Bologna Win' 
        -- Exclude games not won by Bologna
		___ IS NOT ___;
कोड संपादित करें और चलाएँ