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 का प्रयोग समझ आया होगा |

Tuesday, August 11, 2020

SQL सलेक्ट स्टेटमेंट में CONCATENATION OPERATOR ( || ) का प्रयोग


SQL में जब हम दो या दो से ज्यादा स्ट्रिंग (STRING) या स्ट्रिंग / टेक्स्ट  टाइप के कॉलम को जोड़ना होता है तो हम CONCATENATION OPERATOR का प्रयोग करते है | CONCATENATION का अर्थ होता है जोड़ना , CONCATENATION ऑपरेटर को हम ( || ) दो कड़ी लाइनों से दर्शाते है | स्ट्रिंग ऑपरेशन का यह एक महत्वपूर्ण ऑपरेटर है |

अब हम इसका प्रयोग देखेंगे :

मान लीजिये हमारे पास EMPLOYEE नाम की एक टेबल है :

✔ ऊपर दी गई टेबल में EMPNO, EMPNAME, AGE और SALARY नाम के कॉलम है |

अगर हम EMPNAME और AGE को जोड़ कर दिखाना चाहते है तो हमारा सेलेक्ट स्टेटमेंट होगा :

SELECT EMPNAME || AGE FROM EMPLOYEE;


✔ आप रिजल्ट देख सकते है नाम और ऐज को साथ में दिखा रहा है |जैसे "AMIT SINGH 26". 

✔ इसी प्रकार से यदि हम स्टेटमेंट में कोई  लिटरल (LITERAL) लिखना चाहते है तो दे सकते है |

LITERALS क्या होते है समझे :

✔ LITERALS कोई करैक्टर (CHARACTER ), नंबर (NUMBER ) या डेट (DATE ) हो सकते है |

✔ डेट (DATE) और करैक्टर (CHARACTER) लितेरल वैल्यूज (VALUES) को हम ( ' ' ) SINGLE कोड में लिखते है |

जैसे हम लिख सकते है  "AMIT SINGH AGE IS 26", इसके लिए SELECT STATEMENT होगा :

SELECT EMPNAME || 'AGE IS ' || AGE FROM EMPLOYEE;


दूसरा उदहरण है जिसमे हम लिखेंगे  "AMIT SINGH AGE IS 26 AND SALARY IS 10000" इसके लिए SELECT STATEMENT होगा :

SELECT EMPNAME || ' AGE IS ' || AGE || ' AND SALARY IS '|| SALARY FROM EMPLOYEE;

SQL में CONCAT(STR1 , STR2 ) FUNCTION का प्रयोग करके भी हम दो CHARACTER , DATE या NUMBERS को जोड़ सकते है | जैसे :

इस FUNCTION को प्रयोग कर सकते है पर कुछ बाध्यताए है जैसे 

इससे हम केवल दो वैल्यूज (VALUES) को ही जोड़ सकते है | जबकि CONCATENATION OPERATOR ( || ) को एक SELECT STATEMENT में कई बार प्रयोग कर सकते है |

✔ इसमे हम कॉलम के साथ  LITERALS को जोड़ नहीं सकते क्योकि इस FUNCTION में दो ही पेरामीटर होते है (STR1,STR2) जबकि  CONCATENATION OPERATOR ( || ) का प्रयोग करके हम कई LITERALS को आसानी से जोड़ सकते है |

CONCAT( ) FUNCTION में LITERALS का प्रयोग :

ऊपर दी गई SELECT STATEMENT में "NAME OF EMPLOYEE IS" एक LITERALS है जिसे हमने कॉलम के साथ जोड़ा है आप रिजल्ट में देख सकते है |

उम्मीद है आप लोगों को CONCATENATION OPERATOR ( || ) और CONCAT( ) FUNCTION समझ में आया होगा |



Tuesday, August 4, 2020

SQL में SELECT STATEMENT को लिखना सीखें




SQL स्टेटमेंट को लिखते समय ध्यान रखने योग्य बातें :

  सबसे पहले ध्यान रखने योग्य बात यह है कि SQL स्टेटमेंट केस संसितिवे (CASE SENSITIVE ) नहीं होता |  इसका मतलब है की हम इसे SMALL या CAPITAL लेटर में लिख सकते है |
जैसे : SELECT * FROM EMPLOYEE;  या select * from employee;

  SQL स्टेटमेंट को एक या एक से ज्यादा लाइन में लिख सकते है |

✔   केय्वोर्ड्स (KEYWORDS) को पूरी लाइन या स्टेटमेंट  में  संक्षिप्त (abbreviated) या विभाजित (split) नहीं    कर सकते  |

✔   CLAUSES को हमें सेपरेट लाइन में लिखना चाहिए जिससे उसे पड़ने या समझने में आसानी होगी |

   INDENTS का  प्रयोग करके किसी STATEMENT की पठनीयता (readability) को बढ़ा सकते है |



हम देखेंगे  की एक साधारण (simple) SELECT स्टेटमेंट कैसे लिखते है :
 
मान लीजिये हमारे पास एक EMPLOYEE नाम की टेबल है जिसमे निम्न्लिखित कॉलम है | 
EMPLOYEE  (ENO, ENAME, AGE, SALERY)



ऊपर दी गई टेबल में से अगर आप सारा रिकॉर्ड देखना चाहते है तो आपको लिखना पड़ेगा :

SELECT * FROM EMPLOYEE;

यहाँ पर ( * ) का मतलब ( ALL ) होता है | यह ध्यान रखना है बहुत आसन है दोस्तों |

अगर आप चाहते है क विशेस कॉलम (COLUMN ) के डाटा को देखना है |मानलीजिये हमें सारे EMPLOYEE का नाम देखना है तो हमारा SQL स्टेटमेंट होगा  :

SELECT EMPNAME FROM EMPLOYEE ;



अगर एक से ज्यादा कॉलम को देखना चाहते है तो हम लिख सकते है :

SELECT EMPNAME , AGE FROM EMPLOYEE ;





हमें यह ध्यान रखना है की हर स्टेटमेंट के अंत में सेमीकोलन (;) लगाना होगा नहीं तो SQL स्टेटमेंट की ENDING नहीं होगी |

अरिथमेटिक ऑपरेशन  ( Arithmetic Operations ) :

अब हम अरिथमेटिक ऑपरेशन  की बात करते है | अरिथमेटिक ऑपरेशन से आप समझते ही है की हम जोड़ना , घटना ,गुडा और भाग ( + , - , x , / ) करने जैसी कैलकुलेशन की बात कर रहे है | आज हम जानेगे की इन ऑपरेशन  को SQL स्टेटमेंट्स में कैसे उपयोग किया जाता है |

अरिथमेटिक ऑपरेशन का प्रयोग नंबर टाइप के डाटा के साथ किया जाता है | हम कह सकते है की जो कॉलम नंबर टाइप का होगा उसमे प्रयोग किया जा सकता है | जैसे 

मान लिगिये उपरोक्त टेबल में SALARY नाम का कॉलम है हम सभी की सैलरी में 500 रूपए का इन्क्रीमेंट लगाना चाहते है उसके लिए हमारा SQL स्टेटमेंट होगा :

SELECT  SALARY + 500 FROM EMPLOYEE;




इसी प्रकार से हम अन्य ऑपरेटर्स का प्रयोग SQL स्टेटमेंट में कर सकते है | हम दो नंबर टाइप के कॉलम में भी इन ARITHMETIC ऑपरेटर्स का प्रयोग किया जा सकता है | EMPLOYEE टेबल में हम ने एक कॉलम और जोड़ दिया है जिसका नाम INCENTIVE  है | जिसे आप देख सकते है |




अगर आप चाहते है की SALARY में INCENTIVE को जोड़ दे और GROSS SALARY दिखाना चाहते है तो उसके लिए SQL स्टेटमेंट होगा :

SELECT (SALARY + INCENTIVE) FROM EMPLOYEE;




ऊपर जो आप रिजल्ट देख रहे है उसमे  (SALARY + INCENTIVE) दिख रहा है अगर आप उसे कुछ दूसरा नाम देना चाहते है जैसे (GROSS SALARY ) तो हम दे सकते है इसे हम COLUMN ALIASES कहते है |
SIMPLY कह सकते है किसी कॉलम का दूसरा नाम देना | इसके लिए हमारा SQL स्टेटमेंट होगा :




आप देख सकते की कॉलम ALIASES के दो तरीके है पर हमें ध्यान देना है की जब हम METHOD 1 का प्रयोग करे तो AS KEYWORD के बाद जो भी नया नाम देंगे उसमे स्पेस नहीं होना चाहिए जैसे हमने यहाँ ( _ ) UNDERSCORE का प्रयोग किया है |
METHOD 2 में हम जो भी लिखेंगे उसे ( " " ) में लिखना है |


आगे पढने के लिए नया पोस्ट देखे .....

Sunday, July 19, 2020

SQL क्या है ?


SQL  स्ट्रक्चर क्वेरी  लैंग्वेज (STRUCTURE QUERY LANGUAGE)


दोस्तों बहुत सरे लोंगो के मन में यह भ्रान्ति है की SQL एक सॉफ्टवेर है | पर यह सही नहीं है SQL एक लैंग्वेज है जिसके माध्यम से हम डेटाबेस में डाटा को स्टोर करा सकते है , डाटा को विभिन्न फोर्मेट में दिखा सकते है , डाटा में यदि कोई परिवर्तन करना है तो भी कर सकते है यह तो मैंने बात की डाटा की | 


SQL के माध्यम से हम डेटाबेस में भी परिवर्तन कर सकते है जैसे डेटाबेस का नाम परिवर्तित करना , डेटाबेस के ऑब्जेक्ट्स में परिवर्तन करना | यहाँ मैंने डेटाबेस के ऑब्जेक्ट कहा है , डेटाबेस में बहुत सरे ऑब्जेक्ट होते है जैसे टेबल , व्यू , synonyms , indexes , प्रोसीजर , फंक्शन आदि | इसके बारे में आगे मै विस्तार में जानकारी दूंगा |

अगर हम डेटाबेस की बात करे तो यह वह स्थान है जंहा हमारा डाटा रखा जाता है टेक्निकली हम कहे तो डेटाबेस एक RDBMS सॉफ्टवेर है जिसमे हम SQL लैंग्वेज का प्रयोग करके डाटा को मैनेज करते है | यहाँ पर डाटा को टेबल में रखा जाता है हम आप ने एक्सेल का प्रयोग तो किया ही है जिसमे ROW और COLUMN होते है हम डाटा को रो और कॉलम से ही समझते है किस रो में क्या डाटा है और किस कॉलम में क्या डाटा है | हम कह सकते है की टेबल रो और कॉलम से मिल कर बनती है |

SQL को कार्य के अनुसार  विभिन्न लैंग्वेजो में वर्गीकरण किया गया है :

१.  डी . डी . एल (DDL)
२.  डी . एम . एल (DML)
३.  डी . सी . एल (DCL)
४.  टी . सी . एल (TCL)

अब हम इन्हें विस्तार से समझते है :

१. डी . डी . एल (DDL) : डी.डी.एल लैंग्वेज का प्रयोग डेटाबेस में किसी भी ऑब्जेक्ट के स्ट्रक्चर को निम्न कमांड के द्वारा मैनेज किया जाता है :


  • क्रिएट (CREATE) कमांड : किसी भी ऑब्जेक्ट के स्ट्रक्चर बनाने या क्रिएट करने के लिए किया जाता है |

  • अल्टर (ALTER) कमांड    : किसी भी मौजूद (EXISTING) ऑब्जेक्ट में परिवर्तन के लिए किया जाता है |

  • ड्राप (DROP) कमांड      : किसी भी मौजूद (EXISTING) ऑब्जेक्ट को मिटने (DELETE) करने के लिए किया जाता है |

  • रीनेम (RENAME) कमांड  : किसी भी मौजूद (EXISTING) ऑब्जेक्ट के नाम में परिवर्तन के लिए किया जाता है |

  • ट्रंकेट (TRUNCATE)    : किसी भी मौजूद (EXISTING) ऑब्जेक्ट को परमानेंट मिटने (DELETE) करने के लिए किया जाता है |


२.  डी . एम . एल (DML) : डी.एम.एल किसी भी टेबल में डाटा को इन्सर्ट (INSERT) करने और डाटा को मैनेज करने के लिए किया जाता है |इसको करने के लिए निम्न लिखित कमांड का प्रयोग किया जाता है |

  • इन्सर्ट (INSERT)   : इन्सर्ट कमांड का प्रयोग टेबल में नया डाटा इन्सर्ट करने के लिए किया जाता है |

  • अपडेट (UPDATE) : अपडेट कमांड का प्रयोग मौजूदा डाटा को परिवर्तित करने के लिए किया जाता है |

  • डिलीट (DELETE)  : डिलीट कमांड का प्रयोग मौजूदा डाटा को हटाने के लिए किया जाता है | 

  • मर्ज (MERGE)      : मर्ज कमांड का प्रयोद दो या उससे ज्यादा टेबल के डाटा को मर्ज करने के लिए किया जाता है |



३.  डी . सी . एल (DCL) : डी.सी.एल का मतलब डाटा कंट्रोल लैंग्वेज (DATA CONTROL LANGUAGE) होता है | इसका प्रयोग यूजर को अनुमति(PERMISSION) प्रदान करने  या वापस(REVOKE) करने के लिए किया जाता है |इसके लिए निम्न लिखित कमांड का प्रयोग किया जाता है :


  • ग्रांट (GRANT)     : ग्रांट कमांड का प्रयोग अनुमति प्रदान करने के लिए किया जाता है |

  • रेवोके (REVOKE) : रेवोके कमांड का प्रयोग अनुमति वापस लेने के लिए किया जाता है |


४.  टी . सी . एल (TCL) : टी.सी.एल का मतलब ट्रांजीशन कंट्रोल लैंग्वेज(TRANSACTION CONTROL LANGUAGE) इसका प्रयोग किसी भी ट्रांजीशन को मैनेज करने के लिए किया जाता है ट्रांजीशन को आने वाले पोस्ट में हम डिटेल मेंसमझेंगे | इसमें  निम्न लिखित कमांड का प्रयोग किया जाता है :


  • कमिट (COMMIT)          : किसी ट्रांजीशन में जब हम कोई डी.एम.एल(DML) कमांड चलते है उससे हुए परिवर्तन को स्थाई रूप से डाटाबसे में सेव(SAVE) करने के लिए कमिट कमांड का प्रयोग किया जाता है | 

  • रोलबैक (ROLLBACK)     : किसी ट्रांजीशन में जब हम कोई डी.एम.एल(DML) कमांड चलते है उससे हुए परिवर्तन को स्थाई रूप से डाटाब से हटाने के लिए रोलबैक कमांड का प्रयोग किया जाता है | इसे आप UNDO जैसा ही समझे जैसे हम MSWORD या किसी एप्लीकेशन में किसी किये चेंज को वापस लेन के लिए (CTRL + Z ) करते है |

  • सेव पॉइंट (SAVE POINT) : सवेपोइंट का प्रयोग बहुत सरे ट्रांजीशन को मैनेज करने के लिए किया जाता है उसको लेबलिंग करके | इसको विस्तार में आग देखेंगे |


यह कुछ SQL के संबंध में जरूरी जानकारियां है जो मैंने संक्षिप्त में बताई आगे हम और विस्तार में पढेंगे |