Tuesday, September 15, 2020

SQL स्टेटमेंट में LOGICAL CONDITIONS को जाने


दोस्तों आज हम जानेगें की SQL SELECT स्टेटमेंट में कौन - कौन सी LOGICAL CONDITIONS का प्रयोग करते है ? , कहाँ प्रयोग करते है ?, कैसे प्रयोग करते है ? इन सभी प्रश्नों के उत्तर जानेगें |

सबसे पहले जानते है की कौन - कौन सी LOGICAL CONDITIONS होती है |

प्रायः तीन तरह की LOGICAL CONDITIONS  होती है जैसे :

✔ AND

✔ OR

✔ NOT

हम जानते है की AND एक बाइनरी ऑपरेटर है जिसमे दो कॉम्पोनेन्ट (COMPONENT) प्रयोग किये जाते है जैसे : (A =B) AND (C >20) इसमें रिजल्ट एक ही आएगा (TRUE या FALSE) इसमें अगर दोनों  CONDITION सही हुई तो रिजल्ट TRUE आएगा और अगर दोनों या एक भी FALSE हुई तो रिजल्ट FALSE आएगा |

हम जानते है की OR एक बाइनरी ऑपरेटर है जिसमे दो कॉम्पोनेन्ट (COMPONENT) प्रयोग किये जाते है जैसे : (A =B) OR (C >20) इसमें रिजल्ट एक ही आएगा (TRUE या FALSE) इसमें अगर दोनों में से एक भी  CONDITION सही हुई तो रिजल्ट TRUE आएगा और अगर दोनों  FALSE हुई तो रिजल्ट FALSE आएगा |

NOT TRUE RETURN करेगा अगर दी हुई CONDITION FALSE होगी | NOT का प्रयोग अन्य SQL OPERATORS के साथ भी किया जाता है , जैसे BETWEEN , IN ,LIKE ,NULL आदि |

यहाँ TRUE का मतलब डाटा का मिल जाना , FALSE का मतलब कोई भी MATCHING DATA का न होना | इन LOGICAL OPERATORS को हम एक ही WHERE CLAUSE में प्रयोग कर सकते है |

इन सभी OPERATORS को हम अब PRACTICAL तरीके से समझते है :

इसके लिए हम एक EMPLOYEE नाम की टेबल लेते है 


इस EMPLOYEE टेबल में 10 RECORDS है जिसमे एक NULL VALUE का रिकॉर्ड भी है |

अब हम देखते है की किस तरीके से इन LOGICAL OPERATORS को अपनी जरूरत के हिसाब से प्रयोग कर सकते है |

उदाहरण 1 :

मान लीजिये आप को ऐसे EMPLOYEE के RECORD देखने है जिनकी SALARY 10000 से ऊपर हो या उसके बराबर हो , जिनका नाम 'A ' अक्षर से चालू हो , जिनकी AGE 20 वर्ष से ऊपर हो | इसके लिए SQL स्टेटमेंट होगा :

SELECT * FROM EMPLOYEE WHERE SALARY>=10000 AND EMPNAME LIKE'A%' AND AGE>20;


उदाहरण 2 :

मान लीजिये आप को ऐसे EMPLOYEE के RECORD देखने है जिनकी SALARY 30000 से ऊपर हो या उसके बराबर हो या  जिनकी AGE 40 वर्ष से ऊपर हो या उसके बराबर हो | इसके लिए SQL स्टेटमेंट होगा :

SELECT * FROM EMPLOYEE WHERE SALARY>=30000 OR AGE>=40;



उदाहरण 3 :

मान लीजिये आप को ऐसे EMPLOYEE के RECORD देखने है जिनकी SALARY 30000 से ऊपर हो या उसके बराबर हो , जिनकी AGE 30 वर्ष से ऊपर हो या उसके बराबर हो और जिसका INCENTIVE NULL न  हो | इसके लिए SQL स्टेटमेंट होगा :

SELECT * FROM EMPLOYEE WHERE SALARY>=30000 AND AGE>=30 AND INCENTIVE IS NOT NULL;

और अन्य है :

SELECT * FROM EMPLOYEE WHERE SALARY >=10000 AND EMPNAME NOT LIKE 'A%' AND AGE >20;

SELECT * FROM EMPLOYEE WHERE SALARY NOT BETWEEN 20000 AND 30000;



NOT का प्रयोग ऊपर दिए गये उदाहरण में बताया गया है जिसमे हमने कई CASES लिए है |
उम्मीद है आप समझ गये होंगे कि SQL स्टेटमेंट में LOGICAL CONDITIONS को किस प्रकार प्रयोग करना है | इस पोस्ट में इतना ही ,अगले पोस्ट में मिलते है एक नए पोस्ट के साथ 
👀👀

Saturday, September 5, 2020

SQL स्टेटमेंट में COMPARISON CONDITIONS का प्रयोग


👀👇👍

दोस्तों आज हम SQL स्टेटमेंट में COMPARISON CONDITIONS को प्रयोग करना सीखेंगे | इन CONDITIONS को WHERE CLAUSE में प्रयोग किया जाता है | विभिन्न प्रकार के रिकॉर्ड को फ़िल्टर करने में यह बहुत सहायक होता है |

आइए देखते है COMPARISON CONDITIONS के लिए कितने प्रकार के OPERATORS प्रयोग में लाये जाते है :

✔    =      EQUAL TO

    >      GREATER THAN 

✔    >=    GREATER THAN OR EQUAL TO

    <      LESS THEN 

     <=    LESS THAN OR EQUAL TO

    < >    NOT EQUAL TO 

✔    BETWEEN ..... AND ....

    IN (SET) 

    LIKE 

✔    IS NULL

 अब हम इन OPERATORS के बारे में विस्तार से समझतें है की -

 क्या होते है ? 

 कंहा प्रयोग करते है ? 

 कैसे प्रयोग करते है ?

इन सभी को समझने के लिए सबसे पहले हम एक टेबल लेते है , जिसमे 10 रिकॉर्ड है |


 

1. = ( EQUAL TO ) OPERATOR :

इस OPERATOR का प्रयोग सामान्य रूप से बराबरी के संबंध को चेक करने के लिए करते है कि बांयी तरफ का मान दांयी तरफ के मान के बराबर है या नहीं |

जैसे : X=Y यंहा पर X कोई कॉलम होगा और Y कोई मान (VALUE )

अब हम देखते है कि इसे SQL स्टेटमेंट में किस प्रकार प्रयोग करते है :

मान लीजिए हमें उस EMPLOYEE का नाम देखना है जिसका INCENTIVE ' 0 ' हो | उसके लिए SQL  स्टेटमेंट होगा :

SELECT EMPNAME FROM EMPLOYEE WHERE INCENTIVE = 0;


2. >)  GREATER THAN :

इस OPERATOR का प्रयोग सामान्य रूप से GREATER THAN के संबंध को चेक करने के लिए करते है कि बांयी तरफ का मान दांयी तरफ के मान से अधिक है या नहीं |

जैसे : X >Y यंहा पर X कोई कॉलम होगा और Y कोई मान (VALUE )

अब हम देखते है कि इसे SQL स्टेटमेंट में किस प्रकार प्रयोग करते है :

मान लीजिए हमें उस EMPLOYEE का नाम और INCENTIVE देखना है जिसका INCENTIVE ' 0 ' से अधिक  हो | उसके लिए SQL  स्टेटमेंट होगा :

SELECT EMPNAME , INCENTIVE FROM EMPLOYEE WHERE INCENTIVE > 0;


3. >=)  GREATER THAN EQUAL TO :

इस OPERATOR का प्रयोग सामान्य रूप से GREATER THAN या  EQUAL के संबंध को चेक करने के लिए करते है कि बांयी तरफ का मान दांयी तरफ के मान से अधिक या  बराबर है या नहीं |

जैसे : X >=Y यंहा पर X कोई कॉलम होगा और Y कोई मान (VALUE )

अब हम देखते है कि इसे SQL स्टेटमेंट में किस प्रकार प्रयोग करते है :

मान लीजिए हमें उस EMPLOYEE का नाम और INCENTIVE देखना है जिसका INCENTIVE ' 30 ' से अधिक या बराबर  हो | उसके लिए SQL  स्टेटमेंट होगा :

SELECT EMPNAME , INCENTIVE  FROM EMPLOYEE WHERE INCENTIVE >= 30;


4. ( < )  LESS THEN :

इस OPERATOR का प्रयोग सामान्य रूप से LESS THEN के संबंध को चेक करने के लिए करते है कि बांयी तरफ का मान दांयी तरफ के मान से कम है या नहीं |

जैसे : X < Y यंहा पर X कोई कॉलम होगा और Y कोई मान (VALUE )

अब हम देखते है कि इसे SQL स्टेटमेंट में किस प्रकार प्रयोग करते है :

मान लीजिए हमें उस EMPLOYEE का नाम और INCENTIVE देखना है जिसका INCENTIVE ' 100 ' से कम  हो | उसके लिए SQL  स्टेटमेंट होगा :

SELECT EMPNAME , INCENTIVE FROM EMPLOYEE WHERE INCENTIVE < 100;



4. ( < = )  LESS THEN EQUAL TO :

इस OPERATOR का प्रयोग सामान्य रूप से LESS THEN या  EQUAL के संबंध को चेक करने के लिए करते है कि बांयी तरफ का मान दांयी तरफ के मान से कम है या नहीं |

जैसे : X <= Y यंहा पर X कोई कॉलम होगा और Y कोई मान (VALUE )

अब हम देखते है कि इसे SQL स्टेटमेंट में किस प्रकार प्रयोग करते है :

मान लीजिए हमें उस EMPLOYEE का नाम और INCENTIVE देखना है जिसका INCENTIVE ' 100 ' से कम या बराबर है  हो | उसके लिए SQL  स्टेटमेंट होगा :

SELECT EMPNAME , INCENTIVE FROM EMPLOYEE WHERE INCENTIVE <= 100;


5. ( <> )  NOT EQUAL TO :

इस OPERATOR का प्रयोग सामान्य रूप से बराबर न होने  ( NOT EQUAL ) के संबंध को चेक करने के लिए करते है कि बांयी तरफ का मान दांयी तरफ के मान के बराबर न हो ||

जैसे : X <> Y यंहा पर X कोई कॉलम होगा और Y कोई मान (VALUE )

अब हम देखते है कि इसे SQL स्टेटमेंट में किस प्रकार प्रयोग करते है :

मान लीजिए हमें उस EMPLOYEE का नाम और INCENTIVE देखना है जिसका INCENTIVE ' 100 ' न  हो | उसके लिए SQL  स्टेटमेंट होगा :

SELECT EMPNAME , INCENTIVE FROM EMPLOYEE WHERE INCENTIVE <> 100;


6.  BETWEEN ..... AND ....

BETWEEN ..... AND .... का प्रयोग करके हम एक रेंज दे सकते है जिस रेंज के मान के अनुसार हम रिकॉर्ड या डाटा को देख सकते है | इसको हम WHERE CLAUSE में प्रयोग करते है | जैसे 

मान लीजिए आप उन EMPLOYEE का रिकॉर्ड देखना चाहते है जिनकी SALARY 10000 से 20000 की रेंज में हो | अब आप देखेंगे की यहाँ पर 10000 MINIMUM रेंज है और  20000 MAXIMUM रेंज है | इसके लिए SQL STATEMENT होगा :

SELECT * FROM EMPLOYEE WHERE SALARY BETWEEN 10000 AND 20000;

इसमें यह ध्यान में रखना है की BETWEEN के साथ MINIMUM रेंज को ही देना है | जैसे यंहा पर 10000 है |


7.  IN (SET) 

IN में हम एक से ज्यादा मान दे सकते है ये मान एक ही प्रकार के डाटा टाइप के होने चाहिए , या तो नंबर हो , या CHARACTER हो , या DATE हो | CHARACTER और DATE को लिखने के लिए सिंगल कोट ( ' ' ) लगाना अनिवार्य है पर नंबर को बिना  सिंगल कोट ( ' ' ) के ही लिख सकते है , 

जैसे :

IN (100 ,200, 300,.....)  नंबर के लिए 

IN ( 'AMIT ', ' RAJ ', ' SHAILU ', ....)  CHARACTER के लिए 

IN ( ' 04/09/2020 ', ' 05/09/2020 ', ' 06/09/2020 ', .......)  DATE के लिए 

अब हम इसे उदाहरण से समझते है , मान लीजिये हम उन EMPLOYEE का रिकॉर्ड देखना चाहते है जिनकी SALARY (10000 ,15000, 20000) हो | उसके लिए SQL STATEMENT होगा :

SELECT * FROM EMPLOYEE WHERE SALARY IN (10000 ,15000, 20000);


8.  LIKE 

LIKE का प्रयोग किसी करैक्टर को सर्च ( खोजना ) करने के लिए  किया जाता है | इसमें हम अलग - अलग  पैटर्न को दे कर किसी CHARACTER , LITERAL ( शाब्दिक ) या नंबर को सर्च कर सकते है | इसे हम वाइल्ड कार्ड सर्च भी कहते है |

इसमें विभिन्न पैटर्न को देने के लिए ( % ) और ( _ ) का प्रयोग करते है |

( % ) : इसमें हम एक से ज्यादा CHARACTER का प्रयोग कर सकते है या फिर जीरो CHARACTER का |

( _ )  : इसमें हम एक CHARACTER का प्रयोग करते  है |

इसका प्रयोग देखते है :

( % ) -  LIKE 'A %' इसका मतलब है सर्च CHARACTER का पहला WORD 'A' होना चाहिए और ( % ) का मतलब कोई भी CHARACTER  हो सकता है |

जैसे : ऐसे EMPLOYEE का रिकॉर्ड देखना है जिनका नाम  'A ' से शुरू हुआ हो |

SELECT * FROM EMPLOYEE WHERE EMPNAME LIKE 'A%';

इसको समझने के लिए कुछ और CASES लेतें है :



ऊपर दिए गये सारे CASES से हम आसानी से समझ सकते है की ( %) और ( _ ) को हम किन - किन पैटर्न से प्रयोग कर सकते है |
CASE 1 : LIKE ' % M % H ' इनसे हमें उन EMPLOYEE के नाम मिलेंगे जिनके नाम में 'M' LETTER कहीं भी हो और 'H' LETTER अंत (LAST ) में होना चाहिए |

CASE 2 : LIKE ' % M % A ' इनसे हमें उन EMPLOYEE के नाम मिलेंगे जिनके नाम में 'M' LETTER कहीं भी हो और 'A' LETTER अंत (LAST ) में होना चाहिए |

CASE 3 : LIKE ' % M % A _ ' इनसे हमें उन EMPLOYEE के नाम मिलेंगे जिनके नाम में 'M' LETTER कहीं भी हो और  अंतिम दूसरा अक्षर 'A'  (LAST SECOND LETTER  ) होना चाहिए |

CASE 4 : LIKE ' _ % M % A _ ' इनसे हमें उन EMPLOYEE के नाम मिलेंगे जिनके नाम में 'M' LETTER कहीं भी हो और  अंतिम दूसरा अक्षर 'A'  (LAST SECOND LETTER  ) होना चाहिए | CASE 3 और CASE 4 SAME है |

CASE 5 : LIKE ' _  M % A _ ' इनसे हमें उन EMPLOYEE के नाम मिलेंगे जिनके नाम में दूसरा अक्षर  'M' होगा  और  अंतिम दूसरा अक्षर 'A'  (LAST SECOND LETTER  ) होना चाहिए |

CASE 6 : LIKE ' _  M % A _ _ ' इनसे हमें उन EMPLOYEE के नाम मिलेंगे जिनके नाम में दूसरा अक्षर  'M' होगा  और  अंतिम तीसरा अक्षर 'A'  (LAST THIRD LETTER  ) होना चाहिए |

CASE 7 : LIKE ' _  M % A _ %  ' इनसे हमें उन EMPLOYEE के नाम मिलेंगे जिनके नाम में दूसरा अक्षर  'M' होगा  पर 'A' का स्थान निश्चित नहीं है कि अंतिम से दूसरा होगा या तीसरा होगा या चौथा होगा या और भी क्योकि अंत में '%' लगा है |


9.  IS NULL
यह NULL CONDITION को चेक करने के लिए प्रयोग की जाती है की कोई मान NULL है या नहीं , इसको हम IS NULL या IS NOT NULL से चेक करते है |

हम ऊपर देख सकते है की जो हमारे पास टेबल है उसमे कोई भी मान NULL टाइप का  नहीं है | तो हम एक के मान को NULL बनाएगें | इसके लिए हमें UPDATE COMMAND चलाना पड़ेगा | UPDATE COMMAND के बारे में हम आगे पढेंगे |

हमारी पूरानी  टेबल है :

आप देख सकते है कि INCENTIVE कॉलम में कुछ न कुछ मान है (10,100,0,50,10,0,0,30,100,100) पर कहीं भी NULL नहीं है तो हम NULL INSERT करेंगे |

UPDATE EMPLOYEE SET INCENTIVE=NULL WHERE EMPNO=106;

UPDATE COMMAND से EMPNO 106 के INCENTIVE को NULL कर दिया है |
 
अब नई टेबल होगी :


NOTE : NULL न ही ZERO होता है न ही कोई खली जगह होती है बल्कि कोई VALUE होती है जिसको हम NULL VALUE कहते है |
अगर हमें उस EMPLOYEE का रिकॉर्ड देखना है जिसका INCENTIVE NULL हो 

SELECT * FROM EMPLOYEE WHERE INCENTIVE IS NULL;


दोस्तों उम्मीद है यह पोस्ट आप सब को समझ में आया होगा , जिसमे हम ने SQL स्टेटमेंट में COMPARISON CONDITIONS को प्रयोग करना सीखा | अगले पोस्ट में फिर मिलते है |

Wednesday, September 2, 2020

SQL स्टेटमेंट में WHERE CLAUSE का प्रयोग


SQL स्टेटमेंट में WHERE CLAUSE  का प्रयोग

सबसे पहले हम एक टेबल लेते है जिस पर हम WHERE CLAUSE का प्रयोग करेंगें |



WHERE CLAUSE का प्रयोग किसी टेबल से रिजल्ट को फ़िल्टर करने के लिए किया जाता है |

WHERE CLAUSE में हम CONDITIONS लिखते है | इसमें हम एक से ज्यादा CONDITION दे सकते है और दो CONDITION के बीच में AND का प्रयोग करना है |

✔ जो CONDITION हम देंते है उसके बेसिस पर पूरे टेबल में डाटा को फ़िल्टर करता है | हो सकता है की टेबल में बहुत सारा डाटा हो लेकिन अभी हमें उसकी जरूरत नहीं है जितना जरूरी है उतना हम निकाल लेंगे |

✔ अगर मान लीजिये टेबल में एक लाख डाटा है उसमे से केवल 500 रिकॉर्ड की जरूरत है तो WHERE CLAUSE का प्रयोग करके हम बड़ी आसानी से प्राप्त कर सकते है नहीं तो एक लाख रिकॉर्ड / डाटा में से 500 निकालना बहुत समय खपाने वाला काम है |

✔ इसमें हम हर प्रकार का डाटा सर्च कर सकते है चाहे वो स्ट्रिंग हो , नंबर हो या डेट हो |

स्ट्रिंग को सिंगल कोड  ( ' ' ) में लिखते है और डेट / नंबर को बिना सिंगल कोड के यह ध्यान रखना है |

✔ इसमें कोई वैल्यू (VALUE ) या फिर SELECT STATEMENT भी लिख सकते है | इस  SELECT STATEMENT को हम SUB QUERY / INNER QUERY के नाम से भी जानते है |

अब हम इसको  PRACTICALLY समझते है :

उदहरण 1:

ऊपर दी गई टेबल का प्रयोग कर हमें पता करना है " उन लोंगो के नाम जिनकी सैलरी २०००० या उससे कम है "|

QUERY होगी : SELECT EMPNAME ,SALARY FROM EMPLOYEE WHERE SALARY<=20000;


उदहरण 2:

ऊपर दी गई टेबल का प्रयोग कर हमें पता करना है " उन लोंगो के नाम जिनकी उम्र (AGE) 30 या उससे कम है |"

QUERY होगी : SELECT EMPNAME , AGE FROM EMPLOYEE WHERE AGE <=30;


उदहरण 3:

ऊपर दी गई टेबल का प्रयोग कर हमें पता करना है " उस व्यक्ति का नाम और SALARY बताओ  जिनकी उम्र सबसे अधिक हो |"

QUERY होगी : SELECT EMPNAME,SALARY FROM EMPLOYEE WHERE AGE=(SELECT MAX(AGE) FROM EMPLOYEE);


आगे और भी उदाहरणों से आगे हम WHERE CLAUSE को समझेंगे | उम्मीद करता हूँ की इस पोस्ट से आप सभी को SQL स्टेटमेंट में WHERE CLAUSE का प्रयोग समझ आया होगा |