SQL HAVING क्लज व्याख्या: वाक्यरचना, उदाहरणहरू, र उत्तम अभ्यासहरू

1. HAVING क्लज के हो?

HAVING क्लजलाई SQL मा समूहबद्ध डेटा पछि संकलित परिणामहरूमा शर्तहरू लागू गर्न प्रयोग गरिन्छ। यो सामान्यतया GROUP BY क्लजसँगै प्रयोग गरिन्छ र संकलन पछि डेटा फिल्टर गर्न प्रयोग हुन्छ। HAVING प्रयोग गरेर, तपाईंले केवल ती समूहहरू निकाल्न सक्नुहुन्छ जसले विशेष मापदण्डहरू पूरा गर्छन्।

उदाहरणका लागि, तपाईंले कुल बिक्री निश्चित रकमभन्दा बढी भएको ग्राहकहरू वा औसत स्कोर निश्चित थ्रेसहोल्डभन्दा बढी भएको समूहहरू चयन गर्न चाहनुहुन्छ भने HAVING प्रयोग गर्न सकिन्छ। WHERE क्लजले संकलन अघि व्यक्तिगत पङ्क्तिहरूमा शर्तहरू लागू गर्छ, तर HAVING ले समूहबद्ध पछि संकलित परिणामहरूमा शर्तहरू लागू गर्छ।

HAVING क्लज प्रयोग गर्ने उदाहरण

उदाहरणका लागि, तलको क्वेरीले कुल बिक्री 10,000 येन भन्दा बढी भएको ग्राहकहरू निकाल्छ:

SELECT customer_id, SUM(sales) AS total_sales
FROM sales_table
GROUP BY customer_id
HAVING SUM(sales) > 10000;

यो क्वेरीले SUM फङ्क्शन प्रयोग गरेर प्रत्येक ग्राहकको कुल बिक्री गणना गर्छ र केवल ती ग्राहकहरू निकाल्छ जसको कुल 10,000 येन भन्दा बढी छ।

2. HAVING क्लजको मूल सिंट्याक्स र प्रयोग

HAVING क्लजको मूल सिंट्याक्स यस प्रकार छ:

SELECT column_name, aggregate_function(column_name)
FROM table_name
GROUP BY column_name
HAVING condition;

यो सिंट्याक्सले GROUP BY क्लज प्रयोग गरेर डेटा समूहबद्ध गर्छ र HAVING क्लजसँग शर्तहरू निर्दिष्ट गरेर संकलित परिणामहरूलाई फिल्टर गर्छ। उदाहरणका लागि, तलको क्वेरीले orders तालिकाबाट कम्तिमा 5 अर्डर गरेको ग्राहकहरू निकाल्छ:

SELECT customer_id, COUNT(order_id) AS order_count
FROM orders_table
GROUP BY customer_id
HAVING COUNT(order_id) >= 5;

यहाँ, COUNT फङ्क्शनले प्रत्येक ग्राहकको अर्डर संख्या गणना गर्छ, र केवल 5 वा बढी अर्डर भएका ग्राहकहरूलाई फिल्टर गरिन्छ।

3. HAVING क्लज लागू गर्ने उदाहरणहरू

HAVING क्लजलाई संकलन फङ्क्शनहरूसँग मिलाएर प्रयोग गर्दा उन्नत डेटा विश्लेषणको लागि एक शक्तिशाली उपकरण हो। तल केही विशिष्ट उदाहरणहरू छन्।

उदाहरण १: कुल बिक्रीद्वारा फिल्टरिङ

10,000 येन भन्दा बढी बिक्री भएको उत्पादनहरू निकाल्न, तलको जस्तै SUM फङ्क्शन प्रयोग गर्नुहोस्:

SELECT product_id, SUM(sales) AS total_sales
FROM products_table
GROUP BY product_id
HAVING SUM(sales) > 10000;

यो क्वेरीले प्रत्येक उत्पादनको कुल बिक्री गणना गर्छ र 10,000 येन भन्दा बढी कुल भएको उत्पादनहरू निकाल्छ।

उदाहरण २: अर्डर संख्याद्वारा फिल्टरिङ

10 वा बढी अर्डर गरेको ग्राहकहरू निकाल्न:

SELECT customer_id, COUNT(order_id) AS order_count
FROM orders_table
GROUP BY customer_id
HAVING COUNT(order_id) > 10;

यो क्वेरीले प्रत्येक ग्राहकको अर्डर संख्या गणना गर्छ र केवल 10 वा बढी अर्डर गरेको ग्राहकहरूलाई निकाल्छ।

4. HAVING र WHERE बीचको भिन्नता

HAVING क्लज र WHERE क्लज दुवै फिल्टरिङ गर्छन्, तर तिनीहरू विभिन्न चरणहरूमा लागू हुन्छन्।

लागू हुने समयको भिन्नता

  • WHERE क्लज : समूहबद्ध पहिले लागू हुन्छ, व्यक्तिगत पङ्क्तिहरूलाई फिल्टर गर्छ।
  • HAVING क्लज : समूहबद्ध पछि लागू हुन्छ, संकलित परिणामहरूलाई फिल्टर गर्छ।

उदाहरणका लागि, क्वेरीमा WHERE र HAVING दुवै प्रयोग गर्दा, तपाईंले पहिले WHERE प्रयोग गरेर बिक्री कम्तिमा 1,000 येन भएको डेटा फिल्टर गर्न सक्नुहुन्छ, र त्यसपछि HAVING प्रयोग गरेर कुल बिक्री 5,000 येन भन्दा बढी भएको समूहहरू निकाल्न सक्नुहुन्छ।

SELECT customer_id, SUM(sales) AS total_sales
FROM sales_table
WHERE sales >= 1000
GROUP BY customer_id
HAVING SUM(sales) > 5000;

यस क्वेरीमा, WHERE क्लजले फिल्टर गरेको डेटा GROUP BY द्वारा समूहबद्ध गरिन्छ, र त्यसपछि HAVING क्लज लागू गरी केवल कुल बिक्री 5,000 येन भन्दा बढी भएको ग्राहकहरू निकालिन्छ।

5. HAVING क्लज प्रयोग गर्दा महत्वपूर्ण नोटहरू

संकलन फङ्क्शनहरूसँगै प्रयोग गर्नै पर्छ

HAVING क्लजले संकलित परिणामहरूलाई फिल्टर गर्ने भएकाले, यसलाई SUM वा COUNT जस्ता संकलन फङ्क्शनहरूसँगै प्रयोग गर्नुपर्छ। व्यक्तिगत पङ्क्तिहरूमा शर्तहरू लागू गर्न चाहनुहुन्छ भने WHERE क्लज अधिक उपयुक्त हुन्छ।

उपनामहरू प्रयोग गर्दै

HAVING क्लजमा, तपाईंले AS द्वारा निर्दिष्ट गरिएका उपनामहरूलाई सर्त अभिव्यक्तिहरूमा प्रयोग गर्न सक्नुहुन्छ। उदाहरणका लागि, तपाईंले कुल बिक्रीलाई उपनाम दिन सक्नुहुन्छ र यसलाई तल देखाइँदै प्रयोग गर्न सक्नुहुन्छ:

SELECT customer_id, SUM(sales) AS total_sales
FROM sales_table
GROUP BY customer_id
HAVING total_sales > 10000;

यो क्वेरीले ती ग्राहकहरूलाई निकाल्छ जसको कुल बिक्री 10,000 येन भन्दा बढी छ।

६. सारांश: HAVING क्लज कसरी प्रयोग गर्ने

HAVING क्लज सर्तहरू लागू गरेर संकलित डेटा लचिलो रूपमा फिल्टर गर्ने एक शक्तिशाली उपकरण हो। यो विशेष गरी बिक्री वा अर्डर गणना जस्ता संकलित डेटा विश्लेषण गर्दा उपयोगी हुन्छ, जसले प्रभावकारी डेटा विश्लेषणलाई सम्भव बनाउँछ। WHERE क्लजसँगको यसको भिन्नताहरूलाई बुझेर र तिनीहरूलाई उपयुक्त रूपमा सँगै प्रयोग गरेर, तपाईंले आफ्नो SQL क्वेरीहरूको लचीलापन अधिकतम गर्न सक्नुहुन्छ।