हाय एवरीवन तो आज के कोर्स में हम कंप्लीट एसक्यूएल सीखने वाले हैं इसके साथ एक स्पेशल अनाउंसमेंट कि जितने भी स्टूडेंट्स वेब डेवलपमेंट सीखने में इंटरेस्टेड हैं तो अपना कॉलेज की वेबसाइट पर डेल्टा बैच अवेलेबल है जिसके अंदर हम कंप्लीट फ्रंट एंड कंप्लीट बैक एंड और कंप्लीट डेटा बेसस को डिटेल में करते हैं ये हमारा 42 महीने का एक कोर्स है तो जितने भी स्टूडेंट स्ट्रक्चर्ड मैनर में फुल स्टैक वेब डेवलपमेंट पढ़ना चाहते हैं साथ के साथ प्रोजेक्ट्स बनाना चाहते हैं ऑफ कैंपस अप्लाई कैसे करना है रिज्यूमे कैसे करना है इस तरीके के लाइव सेशंस अटेंड करना चाहते हैं तो वो जाकर उसे एक्सप्लोर कर सकते हैं नीचे आपको डेल्टा बैच का लिंक अवेलेबल होगा डिस्क्रिप्शन बॉक्स के अंदर इसके साथ-साथ स्टूडेंट्स की रिक्वेस्ट पर हमने डेल्टा का बैच टू लॉन्च किया था उस पर अभी एक 20 पर स्पेशल ऑफर चल रहा है जो 21 अगस्त की शाम 6:00 बजे तक रहेगा तो हमारी जो क्लासेस होंगी बैच की नए बैच की क्लासेस 31 अगत से स्टार्ट हो रही है तो जितने भी सीरियस स्टूडेंट्स हैं जो इंटरेस्टेड हैं जाकर उसके अंदर एनरोल कर सकते हैं तो अब एसक्यूएल के अपने इस कोर्स के अंदर हम रो से लेकर हीरो तक कंप्लीट एसक्यूएल को कवर करने वाले हैं सिर्फ कमांड्स को हम पढ़ेंगे नहीं उन कमांड्स को लिखकर एग्जीक्यूट करके देखेंगे साथ के साथ हम प्रैक्टिस क्वेश्चंस को भी सॉल्व करेंगे अब एएल ऐसी लैंग्वेज है जो बहुत सारी कंपनीज में यूज़ होती है चाहे कोर्स में हम जितने भी टॉपिक्स को पढ़ रहे होंगे उन सारे टॉपिक्स से रिलेटेड नोट्स हमारे पास अवेलेबल होंगे नीचे आपको नोट्स को डाउनलोड करने का लिंक भी मिल रहा होगा आगे जाकर अगर हमें टॉपिक्स को कमांड्स को रिवाइज करना है तो उसके लिए हम उन नोट्स को डाउनलोड करके रख सकते हैं तो अब शुरुआत करते हैं अपने एसक्यूएल के कोर्स की अब एसक्यूएल को पढ़ने से पहले हम एक दो बेसिक टर्म्स के बारे में सीखने वाले हैं सबसे पहले बात करते हैं कि डेटा बेसेस क्या होते हैं डेटाबेस का मतलब होता है कलेक्शन ऑफ डेटा हमारे पास बहुत सारी बड़ी-बड़ी टेक कंपनीज हैं जैसे googlegroups.com इन सबके पास बहुत सारा डाटा होता है अगर डिलीट करना है तो उसको इजली डिलीट कर सकते हैं तो ऐसा इजली एक्सेसिबल फॉर्मेट में डेटा का कलेक्शन डेटाबेस कहलाएगा और जनरली हमारे जो डेटा बेसेस होते हैं वो हमारे पास डिजिटल फॉर्मेट में होते हैं यानी हमारे कंप्यूटर सिस्टम्स के ऊपर डिजिटली डेटा स्टोर होता है अब डेटाबेस तो हो गया कलेक्शन ऑफ डेटा डेटा बेसस से ही एक और टर्म निकल कर आती है डेटाबेस मैनेजमेंट सिस्टम जिसको हम शॉर्ट में डीबीएमएस कहते हैं डीबीएमएस एक सॉफ्टवेयर एप्लीकेशन होती है यानी एक सॉफ्टवेयर होता है जिसका काम होता है किसी भी डेटाबेस को मैनेज करना डेटाबेस को मैनेज करने ने का वही मतलब है कोई किसी नए डाटा को उसके अंदर ऐड करना किसी पुराने डाटा को डिलीट करना अपडेट करना या फिर उसके अंदर किसी डाटा को सर्च करके निकालना तो प्रोसेस हमारा कुछ इस तरीके से चलता है कि अगर हम एक यूजर हैं यानी हम डेटाबेस को यूज करते हैं तो डेटाबेस लेट्स सपोज ये हमारा डेटाबेस है तो डेटाबेस को हम डायरेक्टली कभी एक्सेस नहीं कर पाते डेटाबेस को डायरेक्टली एक्सेस करने की बजाय हम एक डीबीएमएस को यूज करते हैं डीबीएमएस क्या होता है डीबीएमएस बीच की एक लेयर बन जाती है जो एक सॉफ्टवेयर एप्लीकेशन होती है यानी हम डीबीएमएस को यूज़ करते हैं और डीबीएमएस बैक एंड में जाकर हमारे डेटाबेस के अंदर वो सारे चेंजेज करता है या वहां से इंफॉर्मेशन हमें वापस लाकर देता है तो हम जो एसक्यूएल को यूज़ करते हैं वो हम डीबीएमएस के लिए यूज़ करते हैं यानी डेटाबेस मैनेजमेंट सिस्टम्स के साथ इंटरेक्ट करने के लिए अब बात करते हैं कि डीबीएमएस जो होते हैं हमारे या फिर डेटा बेसेस जो होते हैं इनके दो टाइप्स होते हैं एक होते हैं हमारे रिलेशनल डेटा बेसेस और एक होते हैं हमारे नॉन रिलेशनल डेटा बेसेस रिलेशनल डेटा बेसेस ऐसे होते हैं जिसमें सारा का सारा डटा टेबल्स की फॉर्म में स्टोर होता है टेबल्स कहने का मतलब कि बचपन में हमने अपनी जब स्कूल के अंदर पढ़ा करते थे तो क्लास टीचर क्या करती थी एक रजिस्टर मेंटेन करती थी रजिस्टर के अंदर कुछ इस तरीके की टेबल बनी होती थी कि यहां पर हमारे सारे रोल नंबर्स आ गए यहां पर सबके नेम्स आ गए इसी तरीके की टेबल जब हम डिजिटल फॉर्मेट में बनाते हैं तो उस तरीके के डेटाबेस को हम अपना रिलेशनल डेटाबेस कहते हैं और जब बिना टेबल्स के हम डेटा को स्टोर करवाते हैं तो उसको हम नॉन रिलेशनल कहते हैं नॉन रिलेशनल डेटा बेसेस को हम नो एसक्यूएल डेटा बेसेस भी कहते हैं क्योंकि ये ऐसे डेटा बेसेस हैं जिनको एसक्यूएल समझ नहीं आती जबकि कि रिलेशनल डेटा बेसेस ऐसे होते हैं जिन पर काम करने के लिए हम एसक्यूएल को यूज़ करते हैं इसीलिए इन डेटा बेसेस को हम आरडीबीएमएस भी बोलते हैं आरडीबीएमएस यानी रिलेशनल डेटाबेस मैनेजमेंट सिस्टम्स तो इनके कुछ एग्जांपल्स देखते हैं रिलेशनल डेटाबेस का सबसे पॉपुलर एग्जांपल है माय एसक्यूएल तो माय एए ऐसा डेटाबेस मैनेजमेंट सिस्टम है जो रिलेशनल यानी एसक्यूएल के ऊपर काम करता है टेबल्स की फॉर्म में डेटा को स्टोर कराता है इसके अलावा ओरेकल का डेटा बेस है microsoft's क्यूएल है ये सारे के सारे हमारे रिलेशनल डेटा बेसेस के एग्जांपल्स हैं नॉन रिलेशनल की बात करें तो नॉन रिलेशनल में सबसे पॉपुलर हमारा मोंगो डीबी होता है अब यहां पर यानी अपने इस कोर्स के अंदर हम अपने रिलेशनल डेटा बेसेस के ऊपर फोकस करेंगे क्यों क्योंकि हम एसक्यूएल पढ़ रहे हैं और एसक्यूएल जो है वो सिर्फ रिलेशनल डेटा बेसेस को यानी टेबल फॉर्मेट में जब डेटा स्टोर्ड होता है उसे समझ में आती है और स्पेसिफिकली इस कोर्स के अंदर हम माय एसक्यूएल डेटाबेस मैनेजमेंट सिस्टम पर काम करेंगे एंड उसके अंदर हम अपने डेटा बेसेस को क्रिएट करेंगे उन पर क्वेरीज लगाएंगे एंड वहां से डाटा रिट्रीव करने की ऐड करने की डिलीट करने की कोशिश करेंगे अब ये तो हमने बेसिक पढ़ लिया कि डेटाबेस क्या होता है और डेटाबेस मैनेजमेंट सिस्टम क्या होता है और हम कौन से डेटाबेस मैनेजमेंट सिस्टम्स के साथ काम कर रहे होंगे अब हम बात करेंगे कि एसक्यूएल क्या होती है एसक्यूएल का मतलब होता है स्ट्रक्चर्ड क्वेरी लैंग्वेज यानी ये एक ऐसी लैंग्वेज है जो कंप्यूटर्स को समझ में आती है और इस लैंग्वेज को यूज़ करते हैं हम डेटा बेसेस के साथ इंटरेक्ट करने के लिए अब डे टू डे लाइफ में हम सब बहुत सारी लैंग्वेजेस को यूज़ करते हैं हम हिंदी बोलते हैं हम इंग्लिश बोलते हैं हम गुजराती बोलते हैं मराठी बोलते हैं हम बंगाली बोलते हैं एंड इसके अलावा काफी सारी लैंग्वेजेस तो वैसे ही कंप्यूटर्स की भी कुछ अलग स्पेसिफिक लैंग्वेजेस होती हैं जिनमें से एक लैंग्वेज है स्ट्रक्चर्ड क्वेरी लैंग्वेज जिसको शॉर्ट में हम एसक्यूएल भी बोलते हैं और एसक्यूएल का काम होता है कि हमें डेटा बेसेस के साथ बात करने में हेल्प करती है क्योंकि अगर हमने कोई डेटाबेस बनाया है तो उसे नॉर्मल ह्यूमन वाली लैंग्वेज तो समझ आएगी नहीं पर उस डेटाबेस को एसक्यूएल समझ आएगी तो एसक्यूएल एक ऐसी प्रोग्रामिंग लैंग्वेज है व्हिच इज यूज्ड टू इंटरेक्ट विद रिलेशनल डेटा बेसेस तो हमें ऑलरेडी पता है रिलेशनल डेटा बेसेस ही एसक्यूएल समझते हैं और उन्हीं से बात करने के लिए हम अपनी एसक्यूएल को यूज़ करते हैं अब जो एसक्यूएल होती है उसे यूज़ किया जाता है टू परफॉर्म सम ऑपरेशंस जिनको हम क्रोड ऑपरेशंस कहते हैं यानी हमारा जो डेटाबेस होता है उसके ऊपर हम चार मेजर टाइप के ऑपरेशंस परफॉर्म कर सकते हैं क्रोड में सबसे पहला ऑपरेशन जो हम परफॉर्म करते हैं वो है टू क्रिएट यानी डेटाबेस को क्रिएट करने का ऑपरेशन हम परफॉर्म कर सकते हैं दूसरा ऑपरेशन होता है रीड का ऑपरेशन यानी डेटाबेस से किसी डेटा को पढ़ना सिर्फ देखना कि डेटाबेस के अंदर क्या डेटा स्टोर्ड है अगर य वाला ऑपरेशन होता है अपडेट ऑपरेशन कि कल को अगर कोई यूजर चाहे तो instagram2 ऑपरेशन और डिलीट का मतलब है कि कल को चाहे तो कोई अपना instagram's शब्द आता है हमारे दिमाग में एक और पैरेलल शब्द आता होगा जो होता है सीक्वल अब एज अ बिगनर हमें ये डाउट हो सकता है कि इसे एसक्यूएल बोलना है या इसे सीक्वल बोलना है अब असली जवाब तो ये है कि हम इसे दोनों में से कुछ भी बोल सकते हैं दोनों में से ना ही कुछ सही है ना ही कुछ गलत है लेकिन ये जो शब्द है सीक्वल इसके पीछे की एक हिस्ट्री है शुरुआत में एसक्यूएल जो लैंग्वेज थी इसका फुल नाम था स्ट्रक्चर्ड इंग्लिश क्वेरी लैंग्वेज और इस लैंग्वेज को आईबीएम नाम की कंपनी ने बनाया था अब जब आईबीएम ने इसे बना दिया तो इसे शुरुआत में सीक्वल कहते थे पर धीरे-धीरे स्ट्रक्चर्ड इंग्लिश क्वेरी लैंग्वेज से इसका नाम पड़ा स्ट्रक्चर्ड क्वेरी लैंग्वेज एंड उसके बाद लो इसे एसक्यूएल कहने लग गए अब नेक्स्ट हम बात करने वाले हैं इंस्टॉलेशन के बारे में जैसे हमने पहले बात की कि हमारे जो रिलेशनल डेटाबेस होते हैं उसमें अलग-अलग टाइप के डेटा बेसेस हैं उन सारे डेटा बेसेस को हम साथ में यूज नहीं करते हम उ कोई भी एक पिक कर सकते हैं तो हमने इस कोर्स के लिए पिक किया है अपने माए डेटाबेस को जो सबसे पॉपुलर है इंडस्ट्री में इन टर्म्स ऑफ रिलेशनल डेटाबेस तो हम मा एएल ही अपने सिस्टम पर इंस्टॉल करेंगे हमने आपको दोनों तरीके का इंस्टॉलेशन दिखा दिया है चाहे हम मै सिस्टम के ऊपर या फिर चा विंडोज सिस्टम के ऊपर है तो हम सेम टू सेम इंस्ट्रक्शन को फॉलो कर सकते और अपने डेटा बेस को इंस्टॉल कर सकते हैं जिस भी सिस्टम पर है अ जो अलग अलग डेटा बेसेस हमा होते हैं इन सारे डेटा बेसेस में जो हमारा ए का फ्लेवर होता है वो थोड़ा डिफरेंट हो जाता है बट मेजोरिटी ऑफ द चीजें फिर भी सेम रहती है यानी एल को लिखने का तरीका उसकी जो क्वेरीज होती है मतलब बेसिकली जो सारी चीजें हम इस कोर्स में सीख रहे होंगे उनमें से मेजोरिटी चीजें हम जाक किसी भी रिलेशनल डेटाबेस पर अप्लाई कर सकते हैं तो अब शुरुआत करते हैं अपने इंस्टॉलेशन के साथ सबसे पहले हम बात करने वाले हैं मा एएल के इंस्टॉलेशन का ऑन आवर मैक सिस्टम अब मैक सिस्टम के ऊपर अगर हम है तो हमें इस लिंक पर जाना है इस लिंक पर हम जाएंगे अपने किसी भी ब्राउजर के ऊपर एंड हमारे लिए ये पेज खुल जाएगा इस पेज पर हमें इस डाउनलोड वाले ऑप्शन के अंदर जाना है जैसे ही हम डाउनलोडस पर क्लिक करेंगे हम एक दूसरे पेज की तरफ रीडायरेक्ट हो जाएंगे इस पेज में हमें नीचे की तरफ स्क्रोल करना है एंड हमारे पास यहां पर ये ऑप्शन आएगा माय एएल कम्युनिटी डाउनलोडस का तो हमें क्या करना है इस ऑप्शन पर क्लिक करना है जैसे ही हम यहां पर क्लिक करेंगे फिर हम जाने वाले हैं माय एएल कम्युनिटी सर्वर पर इस पर हम क्लिक करेंगे तो हमारे लिए ये पेज खुल जाएगा अब पे में दिहा क सेपरेट सिस्टम लिए डउनलोड करना चाहते हैं हम लिए डाउनलोड करना चाहते हैं तो हम इस लिए सबसे ऊपर वाला पशन सेलेक्ट कर सकते हैं 13 बजी आर्काइव इसको हम कर देंगे डाउनलोड ये पेज खुल जाएगा इस पेज पर ना लगन करना ना साइन अप करना है हम सीधा कर सकते हैं नो थैंक ज स्टार्ट माय डाउलोड एंड इस तरीके से हमारा जो डाउनलोड है व स्टार्ट हो गया एंड इसको डाउनलोड होने में हो सकता है थोड़ा सा टाइ लगे डिपेंडिंग अपॉन हमारा किस तरीके का नेटवर्क है अब जहां हमने इसे डाउनलोड किया था हम उ इसे ओपन करेंगे एंड इस तरीके से हमारे लिए हमारा पैकेज खुल जाएगा इस पर करने वाले हैं डबल क्लिक तो डबल क्लिक करते ही इस तरीके से हमारा इंस्टॉलेशन स्टार्ट हो जाएगा लेट अस अलाउ अलाउ करने के बाद हम यहां करने वाले हैं कंटिन्यू उसके बाद दोबारा से कंटिन्यू एंड इसके लिए हम करेंगे अग्री एंड इसे करने वाले इंस्टॉल अब इंस्टॉलेशन के लिए सबसे पहले तो हम अपने सिस्टम का पासवर्ड एंटर करना पड़ेगा जो भी हमने अपने सिस्टम के लिए सेट किया है इंस्टॉल सॉफ्टवेयर अब हम क्लिक करने वाले हैं नेक्स्ट पर और अब हमें एक अच्छा पासवर्ड सेट करना है अपने इसके लिए तो हम एक अच्छा स्ट्रंग पासवर्ड यहां पर एंटर करेंगे फिनिश एंड दोबारा से अपने सिस्टम का पासवर्ड जो है उसे हम एंटर करने वाले हैं एंड क्लोज इसे कर सकते हैं मूव टू बिन अब हमने माल कम्युनिटी सर्वर को इंस्टॉल लिया अब हम एक और टूल इंस्टॉल करने वाले हैं फ्रॉम मा जिससे हम अपने सर्वर को मैनेज कर सक तो उसके लिए हम दोबारा अपने मेन पेज पर जाएंगे बैक बैक एंड दोबारा से हमें जाना है अपने mysql.com पर यहां से आप जाएंगे हम डाउनलोड के अंदर डाउनलोड से वापस स्क्रोल करेंगे मा एए कम्युनिटी के अंदर एंड यहां से अब हम डउनलोड करने वाले हैं माय एल वर्क बेंच को इस पर करेंगे क्लिक जैसे ही क्लिक किया तो ये पेज हमारे लिए खुल जाएगा एंड यहां पर हम क्लिक कर देंगे अपने डाउनलोड पर एंड दोबारा से नो थैक्स जस्ट स्टार्ट माय डाउनलोड तो हमारा डाउनलोड स्टार्ट हो जाएगा अब जैसे ही हमारा डाउनलोड कंप्लीट हो जाएगा हम इस फाइल पर सकते हैं डबल क्लिक एंड वर्क बेंच जो मा वर्क बेंच हमने इंस्टॉल किया है वो हमारे लिए खुलेगा तो इस तरीके की विंडो हमें दिखाई देगी इस विंडो पर जाकर हमें इसे क्लिक करना है और इसे ड्रैग करके अपने एप्लीकेशन फोल्डर के अंदर डाल देना है इसे हम कर देते हैं क्रॉस अब हमारा इंस्टॉलेशन जैसे ही खत्म हो जाएगा हम सर्च करेंगे फॉर माय एएल वर्क बेंच तो इसे हमने कर लि एंटर क्योंकि हम फर्स्ट टाइम अपनी को ो रने डाउनलोड किया मतलब फर्स टाइ खो रहे तो हम ओपन पर क्लिक करेंगे जैसे हम वर्क बेंच को खोले हमारे लिए ये विंडो ओपन होगी जिसमें हो सकता है पहले से ही हमारे लिए मा कनेक्शन बना हुआ हो और अगर आप अपनी स्क्रीन के र ऐसा बॉक्स दिखाई नहीं दे रहा तो कोई टेंशन की बात नहीं हम अपने ल कनेक्शन को क्रिएट कर सकते हैं कैसे क्रिएट करना है इस प्लस आइकन के ऊपर क्क करेंगे तो हमारे लिए विंडो खुल जाएगी यहां पर हम अपने कनेक्शन का नाम दे सकते हैं लोकल इंस्टेंस टू इसे कह देते हैं कनेक्शन मेथड सेम रखेंगे होस्ट नेम पोर्ट नेम से रखेंगे रूट नेम सेम रखेंगे एंड अपने पासवर्ड को अब कर देंगे जो पासवर्ड हमने सेट किया था इसको हमने कर दिया ओके एंड एक बार अपने कनेक्शन को हम टेस्ट कर लेते हैं इसे कर लेते हैं कंटिन्यू एनीवे तो यहां पर हमें दिखा रहा है सक्सेसफुली मेड द कनेक्शन इसको कर लेते हैं ओके एंड यहां पर जाकर दोबारा से ओके ओके किया तो हमारे लिए एक नया कनेक्शन फॉर्म हो गया तो इस तरीके से हम अपने कनेक्शन फॉर्म कर सकते हैं एंड जो भी हमारा कनेक्शन है इस पर हम एक बार क्लिक करेंगे तो इसको कर देते हैं कंटिन्यू एनीवे तो इस तरीके की विंडो हमारे लिए खुल जाएगी यहां लेफ्ट में कुछ एडमिनिस्ट्रेशन रिलेटेड चीजें हम दिखाई दे रही है ये हमारी क्वेरी लिखने की जगह है जो मिडल में आ रही है राइट साइड में कुछ कॉन्टेक्स्ट हेल्प्स स्पिस जैसी चीजें हमें दिखाई दे रही होंगी एंड नीचे हमारे पास एक्शन आउटपुट वाली विंडो होगी अब हमारी क्वेरीज है यहां पर लिखने वाले यहां दिख भी रहा है क्वेरी वन जैसे लेट सपोज हम ए की कोई सेलेक्ट क्वेरी लिख है या फिर अपडेट क्वेरी लिख है कोई और क्वेरी लिख है व सारी की सारी हम यहां पर लिखेंगे तो अब हम फाइनली शुरुआत करेंगे कि वर्चुअल डेटाबेस कैसे क्रिएट होता है उसको कट करना स्टार्ट करेंगे और देखेंगे कैसेल क्वेरीज काम करती हमा डेटाबेस के साथ तो हम इल करने वांडो के अंदर तो हम इस लिंक पर जाएंगे w यहां से हम डाउनलोड ऑप्शन पर क्लिक करना है जैसे ही हम डउनलोड पर पहुंच जाएंगे हम स्क्रोल करना और लास्ट में हम मा कम्युनिटी डउनलोड ऑप्शन मिलेगा इस ऑप्शन प क्लिक करने के बाद हमा लिए विंडो खुलेगी इस विंडो में हम मा इंस्टलर फॉर विंड पर जा क्लिक करना तो लिए पे अपर होगा लोड क्क डक करेंगे ो होंडो ने बो वा स् जै कर डाउलोड स्टर्ट जाएगा ज डाउलोड स्टार्ट इलर डाउलोड होने के बाद क्क तो हमा लिए खल जाएगा ो र होगी तो अंद सबसे पहले तो अगर हम स स तर यू कर तो सली चते क्लां य क् यहां पर लिए डेपर लीहा होली आ तो फर फुल वाला ऑ चूज सते हैं फुल वाला ऑप्शन पर जाएंगे एंड क्लिक करेंगे नेक्ट ने पर जाएंगे तो ये सी चीजें जिनका डाउनलोड हम एक्यूट करने वाले हैं इसके बाद दोबारा सेने दोबारा से एक्यूट ए सारी चीजें करट हो दोबारा से नेक्स्ट एंड इस पर जाएंगे नेक्स्ट करेंगे नेस्ट करेंगे एंड यहां पर ट पाड सेट कर है पा क पाव हो वा सफ लिए पासड होने वाला है तो यहां अा सा य पावर्ड सेट कर सकते उ र नोट लेना इसको यज कर ंगे पा हमने सेट कर लिया दोबारा जाकर नेक्स्ट कर लेंगे एंड एग्जीक्यूट दोबारा से नेक्स्ट एंड फाइनली जाक इस कर देंगे फिनिश एंड लास्ट में जाकर सर्वर से कनेक्ट करेंगे लिए हम अपना पासवर्ड एर हमने से टर लि इस चक कर लेने सड ने कर फि करने पले चा कर स् हमने अट नहीं कि तो कोर आगा स टली स्ट होगा ब चाते ना स्ट कर लेते फरते फि अपने प्रोसेस व हम ु जाएगा गा यहां कने अर पा रेडी कनेक्शन बना हु आगा लोकल इस्ट मा कर पा कोने बना आता तो ट बात नहीं हम सिपली ऊपर वाले प्स आइकन प क्लिक करना है और व से अपने लिए न कनेक्शन बना है न कने बनाने लिए पा ये विंडो लेगी और इस सब पहले हमने कनेक्शन नाम लि तो कने कह देते उस बाद पा अर क् पा से चाते पाने उस र करना क् ओ पर जैसे हमने पर क् टे करेंगे टे करेंगे तोरे पास आना चाहिए सक्सेसफुली मेड मा कनेक्शन जैसे ु कनेक्शन फॉम हो गया हम दोरा क्क करेंगे और वो कनेक्शन हम दिखाई दे र है किसी कनेक्शन को ओपन करने लिए क्क करते क्क करेंगे ो होगी इस विंडो के ऊपर को े इस विंडो क स ले हम ट ऑ दि रहा होगा हमो को ते ोो है जदा होगी तो चा तो क्लो कर सकते एट एरिया है एरियाके र कंड को खने वाले या कंड हो कट कमांड हो डिलीट कंड हो सी कमांड हमरी वाली फल लिखने वा इस ई दे टते कट सते करने कर कमा कट करने इसके से हमने अपना पूरा व ब सेट कर लिया जहां हम अपनी ए क्ज लिखना स्टार्ट कर सकते हैं तो अब हम बात करने वाले हैं अपने डेटाबेस के स्ट्रक्चर के बारे में यानी अगर हमने डेटाबेस को बनाया है तो उसे हम इमेजिन कैसे कर सकते हैं अगर हम इमेजिन करें कि ये हमारा डेटाबेस है यानी इस बॉक्स के अंदर पूरा का पूरा जितना भी हमारा इंटररिलेटेड डेटा है वो स्टोर होता है तो हम सोच सकते हैं कि डटा बेस के अंदर बहुत सारी टेबल्स होती हैं इस तरीके से जैसे ये हमारी टेबल वन हो गई और टेबल वन के अंदर कुछ पर्टिकुलर सेट ऑफ डाटा होगा और ये टेबल टू हो गई टेबल टू के अंदर भी कुछ पर्टिकुलर सेट ऑफ डेटा होगा इसी तरीके से जितने भी डेटा बेसेस हम बनाते हैं जरूरी नहीं है कि किसी डेटाबेस के अंदर एक ही टेबल हो डेटा बेसेस के अंदर बहुत सारे टेबल्स होते हैं और उन टेबल्स के अंदर डेटा को स्टोर कराया जाता है और जितनी भी टेबल्स होती है इन सबके अंदर इंटररिलेटेड डटा होता है जैसे अगर लेट्स सपोज हम किसी कॉलेज के लिए डेटाबेस बना रहे हैं तो कॉलेज के लिए जो डेटाबेस बनेगा उसमें हो सकता है एक टेबल स्टूडेंट की हो एक टेबल स्टूडेंट की फीस की हो एक टेबल कोर्सेस के लिए बने उसी तरीके से अगर हम किसी कंपनी के लिए डेटाबेस बना रहे हैं तो कंपनी के डेटाबेस में हो सकता है कि एक टेबल एंप्लॉयज की बने एक टेबल हमारी सैलरीज की बने एक टेबल हमारे डिपार्टमेंट्स की बने तो इस तरीके से हमेशा इंटर रिलेटेड टेबल्स डेटाबेस के अंदर होती है डेटा बेसस के अंदर ऐसा स्ट्रक्चर नहीं होता कि हमने एक डेटाबेस बना दिया उसके अंदर हमने किसी कंपनी के एंप्लॉयज भी स्टोर करा दिए और दूसरे कॉलेज के स्टूडेंट्स के नाम भी स्टोर करा दिए जनरली डेटा बेसेस के अंदर हम इंटर रिलेटेड डेटा को स्टोर कराते हैं इन द फॉर्म ऑफ टेबल्स अब देखते हैं कि टेबल्स एक्चुअली दिखती कैसी हैं हमारी जो डेटाबेस के अंदर टेबल्स फॉर्म होती हैं वो कुछ ऐसी दिखाई देती है जैसे इस टेबल के अंदर ये हमारी स्टूडेंट नाम की टेबल है इस टेबल के अंदर ये हमारा एक कॉलम है दिस इज माय कॉलम वन दिस इज माय कॉलम टू दिस इज माय कॉलम थ्री इस तरीके से हमारी टेबल के अंदर बहुत सारे कॉलम्स होते हैं एंड बहुत सारी रोज होती हैं जैसे ये हमारी रो वन बन गई ये हमारी रो टू बन गई ये हमारी रो थ्री बन गई तो वर्टिकल जो डायरेक्शन में जाते हैं ये हमारे कॉलम्स होते हैं एंड हॉरिजॉन्टल डायरेक्शन में जो जाते हैं ये हमारी रोज होती है तो एक टेबल रोज एंड कॉलम्स का कॉमिनेशन होती है जैसे इस टेबल में पहला कॉलम है रोल नंबर्स के लिए दूसरा कॉलम है नेम्स के लिए तीसरा कॉलम है क्लास के लिए चौथा कॉलम है डेट ऑफ बर्थ के लिए पांचवां कॉलम है जेंडर के लिए सिक्स्थ कॉलम है सिटी के लिए एंड सेवंथ कॉलम है हमारे मार्क्स के लिए इसमें एक रो का मतलब है कि हमने एक पर्टिकुलर स्टूडेंट का डाटा इस रो के अंदर स्टोर कराया है उस स्टूडेंट का रोल नंबर भी है नाम भी है क्लास भी है डेट ऑफ़ बर्थ भी है जेंडर एंड बाकी सारी डिटेल्स अगर हम सेकंड रो की बात करेंगे तो सेकंड रो मतलब किसी सेकंड स्टूडेंट का डाटा वहां पर स्टोर होगा थर्ड रो की बात करेंगे किसी थर्ड स्टूडेंट का डाटा वहां पर स्टोर्ड होगा तो कॉलम्स जनरल स्ट्रक्चर बताते हैं जनरल स्ट्रक्चर मतलब कि कौन-कौन सी इंफॉर्मेशन इस टेबल के अंदर स्टोर्ड है तो कॉलम से क्या पता चलता है हमें स्ट्रक्चर पता चलता है अपनी टेबल का इसे स्ट्रक्चर भी कहते हैं वरना डेटाबेस की भाषा में इसे स्कीमा भी कहते हैं स्कीमा का मतलब होता है डेटा बेसस के अंदर डिजाइन तो कॉलम्स हमें क्या बताते हैं कॉलम्स हमें डिजाइन बताते हैं अपने डेटाबेस का डिजाइन मतलब जिस भी टेबल के हम कॉलम्स देख रहे हैं वो कॉलम्स हमें बताएंगे कि इस टेबल के अंदर क्या-क्या स्टोर्ड है जैसे कॉलम देखकर हमें पता चल रहा है कि स्टूडेंट टेबल के अंदर रोल नंबर नेम एंड ये सारी की सारी इंफॉर्मेशन स्टोर्ड है और रोज क्या बताएंगे रोज हमें बताएंगे इंडिविजुअल स्टूडेंट का डाटा मतलब इंडिविजुअल जो डेटा है उसके लिए हम अपनी रोज को यूज़ करेंगे तो लॉजिकली बात करें तो जब भी हम किसी भी टेबल को क्रिएट करेंगे हमें अपने डेटाबेस को बताना पड़ेगा कि उस टेबल के अंदर कौन-कौन से कॉलम्स होने चाहिए ताकि उसी हिसाब से हमारी टेबल का डिजाइन बन सके तो ये तो बेसिक हो गया कि डेटाबेस होता कैसे है उसके अंदर मल्टीपल टेबल्स होती हैं टेबल्स कैसी दिखाई देती हैं अब हम फाइनली बात करेंगे अपनी फर्स्ट डेटाबेस क्रिएशन के साथ तो सबसे पहले अब हम क्रिएट करके देखेंगे अपना फर्स्ट डेटाबेस यानी हम अपनी फर्स्ट एसक्यूएल क्वेरी को रन करने वाले हैं एक बार एसक्यूएल क्वेरी को रन करने से पहले अपने पूरे माय एसक्यूएल वर्क बेंच को थोड़ा सा और समझ लेते हैं ये हमारी स्क्रीन कुछ ऐसी दिखाई दे रही है स्क्रीन के ऊपर ये जो मिडल वाला पार्ट है इस पार्ट में हम अपनी एसक्यूएल क्वेरीज को लिखेंगे जैसे यहां पर हम अपनी सिलेक्ट क्वेरी लिख सकते हैं या कोई और क्वेरी यहां पर स्क्रीन पर अब मल्टीपल ऑप्शंस हमें दिखाई देंगे जैसे ऊपर अगर हमें नई कोई एसक्यूएल की फाइल चाहिए तो हम इस ऑप्शन पर क्लिक कर सकते हैं और एक नई एसक्यूएल की फाइल हमें मिल जाएगी इसको अभी के लिए क्रॉस कर देते हैं हम इसी क्वेरी टू वाली फाइल को यूज करेंगे तो इसी तरीके के नए डेटा बेसेस चाहिए या कुछ और चाहिए इस तरीके के ऑप्शंस हमारे पास हैं लेफ्ट में हमारा एक एडमिन पैनल है यहां से एडमिन के सारे काम होते हैं जैसे सर्वर को बंद करना या सर्वर को रीस्टार्ट करना एंड एडमिन टैब के साइड में ही हमारा स्कीमास टैब है स्कीमास टैब हमें बताता है कि अभी हमारे पास कितने डेटा बेसेस हैं और हर डेटाबेस के अंदर कितनी टेबल्स हैं तो अभी यहां पर सिर्फ ये एसवाईएस यानी सिस्टम वाला डेटाबेस दिख रहा होगा और इसके अंदर टेबल्स में सिस कॉन्फिन की एक टेबल दिख रही होगी ये हमारा बाय डिफॉल्ट डेटाबेस होता है जिसको माय एएल यूज कर है इसके साथ हमें अभी कोई छेड़खानी नहीं करनी है हम जो अपने डेटा बेसेस बनाएंगे वो नए बनाएंगे और बनने के बाद वो हमें यहीं पर मिल रहे होंगे हमें जितना कोड लिखना है बीच वाले सेक्शन में लिखना है हम चाहे तो अपनी विंडो का साइज यहां से बढ़ा सकते हैं लेट मेक इट 160 तो इस तरीके से हमारी कमांड्स थोड़ी सी साइज में ठीक दिखाई देंगी ये जो राइट वाला टैब है हम चाहे तो इस टैब को हाइड कर सकते हैं ऊपर से हमें टैब्स को हाइड करने के ऑप्शन दिखाई देते हैं तो राइट साइड वाले टैब को हाइड करने के लिए इसको क्लिक कर देंगे हम चाहे तो बॉटम टैब को भी हाइड कर सकते हैं इसको हाइड कर देंगे तो ऐसा दिखाई देगी स्क्रीन पर अभी के लिए हम इसे दिखाने वाले हैं क्योंकि यहां पर यह जो हमारी एक्शन आउटपुट विंडो है यहां पर हमें दिखाई देता है कि हमारी कौन सी एसक्यूएल क्वेरी रन की एंड कौन सी एसक्यूएल क्वेरी रन नहीं की तो इतनी चीजें इंपॉर्टेंट है अभी के लिए उसके साथ-साथ हम चाहे तो हमारी ये जो क्वेरी टू नाम की फाइल है इसको सेव भी कर सकते हैं हम कंट्रोल s या कमांड ए प्रेस करेंगे तो हमारे पास ऑप्शन आ जाएगा सेव करने का हम इसे कुछ नाम दे सकते हैं लेट्स सपोज वी गिव इट क्लासरूम . एए इसको डेस्कटॉप के ऊपर सेव करा लिया है इसको कर लेते हैं सेव तो इसका नाम चेंज हो गया ये अब एसक्यूएल टाइप की फाइल बन गई एसक्यूएल क्वेरीज के लिए और इसका नाम हो गया क्लासरूम तो ये हमारी क्लासरूम वाली फाइल बन गई है अब यहीं पर हम अपनी क्वेरीज को लिखने वाले हैं सबसे पहली क्वेरी जिसको हम लिख करर देखेंगे यह है टू क्रिएट अ डेटाबेस तो हमारी जो एसक्यूएल क्वेरीज होती हैं वो बिल्कुल इंग्लिश जैसी होती हैं यानी इतनी सिंपल इंग्लिश होगी कि अगर हमें बेसिक लेवल की इंग्लिश आती है तो एसक्यूएल क्वेरीज हमें अच्छे से समझ में आ जाएंगी जैसे डेटाबेस क्रिएट करने के लिए हम लिखते हैं क्रिएट डेटाबेस और फिर अपनी मर्जी से हम डेटाबेस का कुछ भी नाम रख सकते हैं एंड उसके बाद हम लगा देते हैं अपना सेमीकलन सेमीकलन को हम फुल स्टॉप की तरह समझ सकते हैं कि हमारी जैसे इंग्लिश के अंदर कोई भी लाइन लिखते हैं जैसे आई एम अ गर्ल इस तरीके की लाइन लिखी तो लास्ट में हम फुल स्टॉप लगा देते हैं वैसे ही हमने ये एक इंस्ट्रक्शन लिख दिए एक लाइन लिख दिए और इसके लास्ट में हम सेमी कोलन लगा रहे हैं तो प्रोग्रामिंग की भाषा में जनरली बहुत सारी जो लैंग्वेजेस होती है उनके लिए फुल स्टॉप का काम सेमी कोलन करता है तो वही चीज हम करेंगे एक और चीज एसक्यूएल के अंदर जो कमांड्स होती हैं जो क्वेरीज होती हैं उनको यहां पर तो मैंने कैपिटल में लिखा है हम चाहे तो उन्हें स्मॉल में भी लिख सकते हैं जैसे यहां पर अगर मैंने लिख दिया क्रिएट डेटाबेस एंड लेट्स सपोज हम अपना को कोई डेटाबेस बनाते हैं टेंपररी वन तो यहां क्या हुआ टेंपररी वन नाम का डेटाबेस क्रिएट हो जाएगा अब हम चाहे तो इस वाले ऑप्शन को प्रेस करके पूरी फाइल को भी रन कर सकते हैं जैसे ही मैंने इस फाइल को रन किया वैसे ही क्या हुआ नीचे एकदम से आ गया क्रिएट डेटाबेस टेंप वन और यहां रिस्पांस में आ गया वन अफेक्टेड एंड क्योंकि यहां ग्रीन दिखाई दे रहा है तो इसका मतलब सक्सेसफुली डेटाबेस क्रिएट हो गया अब स्कीमास के अंदर अपने डेटाबेस को देखने के लिए हम राइट क्लिक कर सकते हैं डबल टैप कर सकते हैं और रिफ्रेश ऑल पर क्लिक करेंगे तो क्या हुआ अब हमें हमारा टेंप वन का डेटाबेस दिखाई दे रहा है इसको एक एक् पैंड कर सकते हैं तो टेबल्स में अभी हमने क्योंकि टेबल नहीं बनाई डेटाबेस के अंदर तो कुछ नहीं दिखाई देगा बट हां हमारा डेटाबेस यहां पर क्रिएट हो गया अब हम चाहे तो एक और डेटाबेस क्रिएट कर सकते हैं इस बार स्मॉल में लिखकर यानी क्रिएट डेटाबेस टेंप टू तो ये टेंपररी टू नाम का डेटाबेस क्रिएट होगा अब पूरी फाइल को रन करने की बजाय क्योंकि फाइल में तो ये भी चीज लिखी हुई है और ये डेटाबेस तो हम ऑलरेडी बना चुके हैं तो उससे एरर आ सकता है तो हम क्या करेंगे सिर्फ इतने पार्ट को सिलेक्ट करके इसे हाईलाइट करके सिलेक्ट करके और हम इस वाले ऑप्शन पर क्लिक कर देंगे सेकंड ऑप्शन पर जब हम क्लिक करेंगे तो ये सिर्फ हाइलाइटेड पार्ट को रन करेगा हमने इस पर क्लिक किया और क्या हुआ सिर्फ इतना वाला पार्ट रन किया यानी सिर्फ टेंपरेरी टू हमारे लिए क्रिएट हो गया दोबारा से यहां पर रिफ्रेश कर लेंगे एंड अब डेटाबेस के अंदर हमें टेंपरेरी टू भी दिखाई दे रहा है इसी तरीके से लेट्स सपोज हमें एक कॉलेज नाम का डेटाबेस बनाना है तो उसे भी हम क्रिएट कर सकते हैं तो केस सेंसिटिव नहीं है एसक्यूएल तो हम स्मॉल में भी लिख सकते हैं हम कैपिटल में भी लिख सकते हैं अपर केस लोअर केस दोनों अलाउड है कमांड्स के लिए बट जनरली हम अपर केस प्रेफर करेंगे क्योंकि उससे प्रॉपर हाईलाइट होकर आता है कि कौन सी कमांड्स हम लिख रहे हैं तो हम लिख सकते हैं क्रिएट डेटाबेस और इसे हम नाम दे देंगे कॉलेज तो हम अपने कॉलेज के लिए एक डेटा बेस बना रहे हैं इसको कर लेंगे एग्जीक्यूट एग्जीक्यूट किया तो सक्सेसफुल आ गया नीचे की तरफ एंड यहां पर रिफ्रेश ऑल करके हमारे पास आ गया हमारा कॉलेज नाम का डेटाबेस अब सेकंड कमांड होगी हमारी ड्रॉप डेटाबेस की जैसे हम डेटा बेसेस को क्रिएट कर सकते हैं उनके नए नाम से वैसे हम उन्हें ड्रॉप भी कर सकते हैं ड्रॉप करने का मतलब है डिलीट करना तो हम लिखते हैं ड्रॉप डेटाबेस एंड फिर उस डेटाबेस का नाम जिसे हमें ड्रॉप करना है जैसे लेट्स सपोज यहां हम लिख सकते हैं ड्रॉप डेटाबेस टेंप वन एंड इसे कर लेते हैं कॉपी एंड यहां पर पेस्ट इसको लिख देते हैं टेंप टू तो सिर्फ इतने पार्ट को हाईलाइट करके हम रन करेंगे तो उससे हमारे लिए दोनों डेटा बेसेस डिलीट हो गए यहां नीचे दिखाई दे रहा है ड्रॉप डेटाबेस टेंप टू को भी डिलीट कर देते हैं सिलेक्ट किया तो यहां से टम टू भी हट गया तो इस तरीके से डेटा बेसेस हमारे ड्रॉप हो गए इनको अभी हटा लेते हैं और अभी के लिए हम अपने इस कॉलेज डेटाबेस को यूज़ कर रहे होंगे चीजों को सीखने के लिए तो ये हमारा कॉलेज डेटाबेस है जिसको हमने क्रिएट कर दिया एंड इस तरीके से डेटा बेसेस को हमने देख लिया क्रिएट करने की एंड ड्रॉप करने की कमांड बहुत ज्यादा इजी होती है तो ये थी हमारी फर्स्ट क्वेरी इसके अलावा डेटा बेसेस के अंदर एक और क्वेरी होती है व्हिच इज टू यूज डेटाबेस जैसे हम लिख सकते हैं यूज और आगे हम लिख देंगे कॉलेज तो इस क्वेरी का मतलब है कि अब से हम जो भी चीजें करेंगे यानी अगर हमें कोई टेबल बनानी है उस टेबल के अंदर कुछ चेंजेज करने हैं उस टेबल का डाटा देखना है तो वो सारी की सारी टेबल से रि रिलेटेड चीजें हम इस कॉलेज डेटाबेस के अंदर करने वाले हैं तो इसको भी एग्जीक्यूट कर लेते हैं यूज कॉलेज हमने एग्जीक्यूट कर लिया तो मतलब अभी हम इस डेटाबेस की बात कर रहे हैं और सारी की सारी आगे की जो चीजें है वो इस डेटाबेस के अंदर करनी है अब हम बात करते हैं टेबल्स के बारे में एक बार हम क्या करेंगे अभी के लिए सिर्फ हम एसक्यूएल क्वेरीज को थोड़ा सा बेसिक बेसिक समझ रहे हैं कि ये काम कैसे करती हैं एसक्यूएल क्वेरीज एगजैक्टली होती क्या है और एक तरीके से फ्लेवर ले रहे हैं कि एसक्यूएल क्वेरीज कितनी सिंपल होती है तो अभी के लिए बस हम एक बार टेबल को क्रिएट करके देखेंगे पर टेबल्स के ऊपर क्रिएशन के अलावा भी बहुत सारे ऑपरेशंस हो सकते हैं जितनी भी चीजें अभी हम टेबल को क्रिएट करने के लिए यूज़ करेंगे वो बस हम सैंपल की तरह यूज़ कर रहे हैं उनमें से एक-एक चीज के बारे में हम डिटेल में बात करेंगे तो किसी भी चीज की टेंशन नहीं लेनी कि ये चीज हमने लिख तो दी पर इसका मतलब अभी उतना ज्यादा समझ में नहीं आ रहा अभी हम सिर्फ लिख कर देख रहे हैं कि एसक्यूएल क्वेरीज काम कैसे करती है तो अपनी टेबल को क्रिएट करने के लिए सबसे पहले तो हम लिख देते हैं यूज और अपने डेटाबेस का नाम जो हम ऑलरेडी लिख चुके हैं कि हम इस डेटाबेस के अंदर अपनी टेबल क्रिएट करना चाहते हैं और फिर हम लिखते हैं क्रिएट टेबल और फिर अपनी टेबल का नाम एंड टेबल के अंदर हम इस तरीके से अपने कॉलम्स डिफाइन करते हैं ये हम क्या कर रहे हैं एक तरीके से अपनी टेबल का स्कीमा डिफाइन कर रहे हैं यानी डिजाइन डिफाइन कर रहे हैं इन द फॉर्म ऑफ कॉलम्स जब हमें पता होगा कि अगर मेरी कोई स्टूडेंट टेबल है मुझे इस तरीके की अपनी टेबल बनानी है डेटाबेस में जिस टेबल के अंदर हमारे पास प्रॉपर एक आईडी होनी चाहिए हर एक स्टूडेंट की हर एक स्टूडेंट का हमारे पास नाम होना चाहिए और एक हर एक स्टूडेंट की हमारे पास एज होनी चाहिए इस तरीके की स्टूडेंट नाम की टेबल हम बनाना चाहते हैं और ये हम कॉलेज के डेटाबेस में बनाना चाहते हैं तो इसके अंदर हमें पता है कि हमारे कॉलम वन का नाम सबसे पहले हम क्या लिखते हैं कॉलम वन का नाम तो हमने इस इसी कमांड को लिखा है क्रिएट टेबल स्टूडेंट उसके अंदर सबसे पहले हम अपने कॉलम वन का नाम क्या रखेंगे आईडी रखेंगे तो हमने आईडी लिख दिया उसके बाद हम डेटा टाइप डिफाइन करते हैं डेटा टाइप्स होते हैं कि हम किस टाइप का डाटा वहां पर स्टोर करने वाले हैं इनके बारे में भी हम डिटेल में अभी पढ़ेंगे तो यहां पर क्योंकि आईडी हमें पता है कोई नंबर ही होता है तो नंबर के लिए हमारे पास एसक्यूएल में इंटी जर इंटी जर डेटा टाइप होता है उसको शॉर्ट में हम लिखते हैं इंट तो हम इंट डेटा टाइप यूज करेंगे एंड उसके बाद हम कंस्ट्रेंट्स लिखते हैं कंस्ट्रेंट्स को भी हम बाद में डिटेल में पढ़ेंगे कंस्ट्रेंट्स कहने का मतलब है कि क्या आप जो इसके अंदर डेटा स्टोर कराना चाहते हो उसके ऊपर कोई लिमिट होने वाली है तो हम क्या करेंगे उसे प्राइमरी की बना देंगे अभी के लिए प्राइमरी की क्या है उसको इग्नोर कर देना है उस पर ध्यान नहीं देना है प्राइमरी कीज को हम अभी डिटेल में पढ़ेंगे बस अभी हमने समझ लिया कि अपना हमने कॉलम एक बनाना है आईडी नाम से उसके अंदर इंटी जर टाइप का डाटा स्टोर होगा एंड उसके ऊपर प्राइमरी की करके कुछ लिखा हुआ है फिर हम कॉलम टू बनाना चाहते हैं नेम का हमने लिख दिया नेम नेम के आगे हमने उसका डेटा टाइप डिफाइन कर दिया हमें पता है नेम के अंदर ए बी सीडी इस तरीके की चीजें होंगी तो उसे हम वेयर कैर टाइप का बना रहे हैं और हमने एक साइज डिफाइन कर दिया कि मैक्सिमम 50 लेटर्स ही हो सकते हैं एक नाम के अंदर ये वैरकर क्या होता है ये 50 का मतलब क्या है उसके अभी इतना डिटेल में नहीं जाना बेसिकली इसका मतलब है कि हमारे पास कुछ स्ट्रिंग टाइप का डाटा होगा स्ट्रिंग यानी कैरेक्टर्स होंगे ए बी सी डी और इस पर हमने कोई कंस्ट्रेंट नहीं लगाया फिर हमें एक एज नाम का कॉलम बनाना है तो हमने कॉलम के नेम में एज लिख दिया उसका डेटा टाइप भी एज भी क्योंकि इंटी जर होती है तो हमने इंट लिख दिया यहां पर और हमने कंस्ट्रेंट लगा दिया नॉट नल कि एज किसी की भी खाली नहीं होनी चाहिए जैसे हो सकता है किसी के पास फोन ना हो तो फोन नंबर खाली हो सकता है पर एज तो सबकी डिफाइंड होती है तो एज नॉट नल है मतलब खाली नहीं होनी चाहिए एज तो इस तरीके से इतनी लाइन लिखकर हम अपनी टेबल को क्रिएट कर सकते हैं और यह हमारा बेसिक फॉर्मेट होता है किसी भी टेबल को क्रिएट करने का और जब भी हमें टेबल को इमेजिन करना हो कैसी होगी तो हम उसे पेपर पे बना के देख सकते हैं कि हमारी टेबल कुछ इस तरीके की क्रिएट होने वाली है उसे हमें आईडिया लग जाता है कि टेबल का डिजाइन कैसा दिखेगा तो एक बार इस टेबल को क्रिएट करके देखते हैं हम लिखेंगे कमांड क्रिएट टेबल एंड फिर अपनी टेबल का नाम कि हम स्टूडेंट टेबल बनाना चाहते हैं स्टूडेंट टेबल के अंदर हम दो पैरेंस लेंगे पैरेंस के में हमें वही अपनी स्टेटमेंट को टर्मिनेट करने के लिए सेमीकलन को यूज करना है और यहां पर हम अपने कॉलम्स का नाम लिखेंगे कॉलम्स में सबसे पहला कॉलम जिसको हम क्रिएट करना चाहते हैं यह हमारे पास आईडी आईडी का टाइप हमें लिखना है इंट एंड प्राइमरी की कॉमा कॉमा करके हम दूसरे कॉलम की बात करते हैं दूसरा कॉलम है नेम नेम के लिए हम लिखेंगे वरकर 50 एंड तीसरा कॉलम है हमारे पास एज का एज भी इंटी जर होगी एंड इसके लिए हमने कंस्ट्रेंट लगा दिया नॉट नल अभी के लिए नॉट नल क्या है इंट क्या है वरकर क्या है प्राइमरी की क्या है ज्यादा डिटेल में नहीं सोचना बस बेसिकली हमने टेबल क्रिएट कर ली स्टूडेंट नाम से अब इतने पोर्शन को हाईलाइट करके हम एग्जीक्यूट कर देंगे तो यहां पर आ गया नीचे सक्सेसफुल क्रिएटेडटेड और हम यहां पर अब कॉलेज के अंदर जाएं एंड थोड़ा सा इसे रिफ्रेश ऑल कर लें तो अब यहां पर टेबल्स के अंदर भी हमें एक टेबल दिखाई दे रही है अपनी स्टूडेंट टेबल नाम से स्टूडेंट टेबल के अंदर कॉलम्स भी के अंदर हम जा सकते हैं कॉलम में हमें पता चल गया एक आईडी नाम का कॉलम बना है एक नेम नाम का कॉलम बना है और हमारे पास एक एज नाम का कॉलम बना है इसके अलावा ये फॉरेन कीज करके कुछ लिखा हुआ है इस इन चीजों को अभी के लिए इग्नोर करना है हम बाद में पढ़ेंगे फॉरेन कीज हमारी प्राइमरी की फॉरेन की होती क्या है पर हमें दिख गया कि हां बेसिक टेबल हमारी क्रिएट हो गई है स्टूडेंट नाम से कॉलम्स आ गए हैं इसके अंदर आईडी नेम एंड एज के लिए तो इस तरीके से हमारी ये एसक्यूएल क्वेरी होती है नई टेबल्स को क्रिएट करने के लिए किसी भी डेटाबेस के अंदर अब हम चाहे तो कुछ डेटा इस टेबल के अंदर ऐड कर सकते हैं अभी के लिए थोड़ा सा इग्नोर करना है कि डेटा टेबल के अंदर ऐड कैसे हो रहा है बस हम यहां पर एक एग्जांपल देख रहे हैं कि कैसे ऐड किया जा सकता है और कैसे हम डिफरेंट डिफरेंट क्वेरीज को रन कर सकते हैं तो डाटा इंसर्ट करने के लिए हम लिख सकते हैं इंसर्ट इनटू अपनी टेबल का नाम स्टूडेंट हम फिर लिख सकते हैं वैल्यूज वैल्यूज के अंदर हमने वन आईडी रख दी नाम हमने रख दिया अमन एंड एज हमने रख दिया है 26 तो इस तरीके से एक सेट ऑफ डाटा हमने यहां पर ऐड कर दिया इसी को नेक्स्ट लाइन में कर देते हैं तो यहां हम नाम चेंज कर देते हैं श्रद्धा 20 फ एंड इस तरीके से अब इतने पार्ट को एक बार एग्जीक्यूट करते हैं ये हमने एग्जीक्यूट किया नीचे सक्सेसफुल आ गया इंसर्ट इनटू इसको भी कर देते हैं एग्जीक्यूट करते हैं नीचे एरर आया अच्छा एरर इसलिए आया क्योंकि आईडी हमने सेम डाल दी प्राइमरी की का बेसिक मतलब होता है कि प्राइमरी की हमेशा सबकी अलग होनी चाहिए तो आईडी सबकी अलग होनी चाहिए तो इसने हमें वही एरर दिखा दिया यहां पे एरर कोड डुप्लीकेट एंट्री वन तो दोबारा से रन कर लेते हैं तो ये सक्सेसफुल हो गया एंड अब हम टेबल्स के अंदर जाएंगे स्टूडेंट के अंदर जाएंगे स्टूडेंट के अंदर जाकर यह हमारा ये जो आए वाला आइकन है हम चाहे तो इस पर क्लिक कर सकते हैं आय आइकन पर क्लिक करते ही यह वाली विंडो हमारे लिए खुलेगी कॉलेज डॉट स्टूडेंट यानी कॉलेज डेटाबेस की स्टूडेंट टेबल हमारे लिए खुलेगी इसमें हम कॉलम्स को देख सकते हैं तो ये हमारे कॉलम्स हमें दिखेंगे कई सारी डिफरेंट डिफरेंट चीजें हम इसके अंदर देख सकते हैं तो जैसे हम यहां से चीजें देख सकते हैं वैसे ही हम एसक्यूएल से भी चीजें देख सकते हैं यानी हम चाहे तो अपनी पूरी टेबल को प्रिंट कर सकते हैं हम उसके लिए लिखेंगे सेलेक्ट स्टार फ्रॉम और फिर अपनी टेबल का नाम अभी ये इंसर्ट इनटू क्वेरी कैसे काम कर रही है सिलेक्ट क्वेरी काम कर रही है उसके ज्यादा डिटेल में नहीं जाना बस चीजों को होते हुए देखना है एक्सपीरियंस करना है ये जैसे ही हमने किया तो हमारे लिए हमारी टेबल आ गई यहां पर ये हमारी टेबल आ रही है टेबल के अंदर आईडी के अंदर वन और टू वाली आईडी है नेम के अंदर अमन और श्रद्धा नाम के नेम है और एज के अंदर 26 24 इस तरीके से हमारे पास लिखा हुआ है तो ये हमारी टेबल प्रिंट हो गई कौन सी टेबल प्रिंट हो गई स्टूडेंट नाम से इसको हम चाहे तो क्रॉस भी कर सकते हैं तो हमें पता चल गया कि सक्सेसफुली जो डाटा हमने इंसर्ट किया था वो टेबल के अंदर ऐड हो रहा है और टेबल को हम प्रिंट भी करवा सकते हैं तो यह बेसिक ओवरव्यू था कि कैसे हम डेटा बेसेस बनाते हैं कैसे हम टेबल्स बनाते हैं टेबल्स के अंदर कैसे हम डेटा को ऐड करते हैं फिर उस डेटा को हम देख पाते हैं अब हम डिटेल में एक-एक चीज के बारे में बात करेंगे जो शुरुआत हम करने वाले हैं अपने डेटा टाइप्स के साथ कि हमें ये तो पता चल गया कि हमें टेबल को क्रिएट करना है हमें फिर कॉलम का नाम लिखना है पर उसके अंदर डेटा टाइप का क्या मतलब होता है डेटा टाइप्स की बात करें तो एसक्यूएल के अंदर बहुत सारे डेटा टाइप्स होते हैं तो हमने नोट्स में आपको बहुत लंबी लिस्ट दी हुई है बहुत सारे डेटा टाइप्स की एंड इनफैक्ट बहुत सारे एडवांस डेटा टाइप्स भी होते हैं जिनके लिए हमने आपको काफी सारे लिंक्स दे रखे है पर जनरली हम सारे के सारे डेटा टाइप्स को यूज़ नहीं करते मोस्ट कॉमनली जो यूज डेटा टाइप्स हैं वो हम यहां पर पढ़ने वाले हैं इनमें से सबसे पहला है हमारा कैरेक्टर डेटा टाइप थोड़ा सा इसे ज़ूम इन कर लेते हैं सबसे पहला डेटा टाइप जिसकी हम बात करेंगे ये हमारा कैरेक्टर डेटा टाइप जब भी हमें इस तरीके की चीजें स्टोर करानी होती है ए बी सीडी जैसे किसी का नेम हो गया या फिर लेट्स सपोज किसी का एड्रेस हो गया या फिर मान लेते हैं किसी सिटी का नाम हो गया किसी लोकेशन का नाम हो गया किसी कंट्री का नाम हो गया तो इस तरीके की इंफॉर्मेशन जिसमें स्ट्रिंग्स यूज़ होने वाली है स्ट्रिंग्स प्रोग्रामिंग के अंदर होती है ए से लेकर z तक या स्मल ए से लेकर स्मल z तक इस तरीके की चीजें अगर हमें स्टोर करवानी है तो उसके लिए हम अपने दो डेटा टाइप्स यूज कर सकते हैं कैरेक्टर और वरकर तो ये कैरेक्टर के लिए शॉर्ट है कैर और वरकर अब कैर और वरकर दोनों ही 0 से 255 तक मतलब टोटल 256 साइज की स्ट्रिंग को स्टोर करा सकते हैं तो यहां पर उनका साइज हमें दिख गया बट दोनों में एक डिफरेंस होता है कि कैरेक्टर क्या करता है यह कैरेक्टर्स ऑफ फिक्स लेंथ स्टोर कराता है जबकि वेर कैर वयर का मतलब है यहां पे वेरिएबल को स्टोर करा लेता है इसका मतलब है कि अगर हमने लेट्स सपोज कोई कॉलम है ये हमारा कॉलम वन है और इसका डेटा टाइप हमने लिख दिया कैर और कैर का हमने साइज लिख दिया 50 मैक्सिमम हम 256 तक लिख सकते हैं पर हमने लिख दिया 50 उसके बाद हमने लिखा एक कॉलम टू उसके अंदर हमने लिख दिया वेर कैर और यहां पर भी हमने लिख दिया 50 तो दोनों के बीच में डिफरेंस क्या होगा जैसे यहां पर जैसे ही हमने 50 लिख दिया कैरेक्टर के अंदर तो हमारी जो मेमोरी है कंप्यूटर की जो हमारे डेटाबेस की फिजिकल मेमोरी यूज हो रही है कंप्यूटर के अंदर उसके अंदर जाकर हमारे पास जो 50 बाइट्स के बराबर मेमोरी होगी मतलब लेट्स सपोज इतनी मेमोरी है जो 50 बाइट्स के बराबर है ये सारी की सारी रिजर्व हो जाएगी चाहे हमें छोटी सी सिटी का नाम स्टोर कराना हो लेट्स सपोज हमें सिर्फ पुणे स्टोर कराना है तो पीय एनई पुणे हमारे लिए स्टोर हो गया पर बाकी की जो खाली जगह बचेगी ऐसा नहीं है उसको कोई और आके यूज कर पाएगा वो भी रिजर्व हो जाएगी तो इस तरीके से इनएफिशिएंट प्रोसेस होता है मेमोरी के अंदर जबकि वरकर क्या करता है वरकर ये तो मैक्सिमम साइज उसने बता दिया पर वरकर सिर्फ उतनी जगह लेता है जितनी उसको जरूर तो तो वरकर क्या करेगा अगर पुणे है तो पुणे के हिसाब से मेमरी के अंदर सिर्फ पुणे को स्टोर कराने जितनी जगह लेगा अगर कल को मान लो हमें मुंबई को स्टोर कराना है तो फिर मुंबई को स्टोर कराने जितनी जगह लेगा जिसमें हमारी मुंबई वाली जो स्ट्रिंग है वो आकर स्टोर हो जाए बल्कि अगर ये कैरेक्टर होता तो कैरेक्टर में पूरी की पूरी जगह रिजर्व्ड होती चाहे कितनी भी चीजें हम स्टोर करवाएं तो उसमें हमारी एक्स्ट्रा मेमोरी वेस्ट हो जाती इसीलिए हम हमेशा प्रेफर करते हैं कि हम वर कार को यूज करें स्ट्रिंग्स को स्टोर कराने के लिए दूसरा हमारा आ जाता है एक ब्लब ब्लब को यूज़ किया जाता है बड़ी स्ट्रिंग्स को स्टोर कराने के लिए जैसे अगर हमें किसी फाइल का डाटा स्टोर कराना है तो इसको थोड़ा देख लेते हैं इसके अंदर जो स्ट्रिंग का साइज है वो वरकर से थोड़ा सा हमें बड़ा दिखेगा रो से 65535 के इक्वल तो इट कैन स्टोर लार्ज बाइनरी ऑब्जेक्ट्स और इसको हम इस तरीके से यूज़ करते हैं हम लिखते हैं ब्लब और अंदर मैक्सिमम साइज डिफाइन कर देते हैं जैसे हम कैर और वयर कैर में करते हैं उसके बाद हमारे न्यूमेरिक टाइप्स आ जाते हैं जिसमें इंटी जर आ जाता है तो इंटी जर वैल्यूज को स्टोर कराने के लिए हम इंट को यूज़ करते हैं ये रेंज है कि कितनी से कितनी रेंज तक हम अपनी इंटी जर वैल्यूज को स्टोर करा करा सकते हैं तो हम नेगेटिव वैल्यूज भी स्टोर करा सकते हैं पॉजिटिव भी स्टोर करा सकते हैं और उसके लिए हम सिंपली लिखते हैं इंट दूसरा आ जाता है हमारे पास टाइनी इंट टाइनी इंट इंट का भी छोटा वर्जन होता है जैसे हमारे पास यहां पर इंटी जर में रेंज होती है टाइनी इंट में कि -18 से लेकर 127 तक स्टोर करा सकते हैं और इसको ऐसे यूज़ करते हैं फिर जैसे टाइनी इंट होता है वैसे मीडियम इंट भी होता है वैसे ही हमारे पास बिग इंट भी होता है जिसकी ये रेंज होती है और वैसे ही हमारे पास एक बिट भी होता है बिट के अंदर हम x बिट वैल्यूज को स्टोर कराते हैं जैसे यहां पर हम अपनी एक रेंज रखते हैं x जो वन से लेकर 64 तक जा सकती है जैसे अगर हमने लिख दिया बिट टू तो इसका मतलब है कि हम टू बिट वैल्यूज को ही स्टोर करा सकते हैं या फिर अगर हमने लिख दिया बिट वन तो बिट वन कहने का मतलब है वन बिट वैल्यू यानी या तो ज़ीरो स्टोर होगा या सिर्फ वन स्टोर होगा अगर हमने बिट टू लिख दिया तो बिट टू लिखने का मतलब है बिट टू लिखने का मतलब है कि या तो 00 0 1 10 या 1 इन्हीं वैल्यूज में से कुछ स्टोर हो सकता है तो जब हम प्रोग्रामिंग के अंदर और ज्यादा काफी चीजें पढ़ लेते हैं तो हम बिट्स के साथ बात करते हैं तो हमारी जो कंप्यूटर होता है उसके अंदर सारा का सारा डाटा बिट्स में स्टोर होता है बिट्स में जीरो का मतलब होता है कि कंप्यूटर को सिग्नल नहीं मिला वन का मतलब होता है कि कंप्यूटर के अंदर करंट गया सिग्नल मिला है तो बिट्स की फॉर्म में सारे के सारे काम होते हैं हमारी मशीन के ऊपर बाकी बिट्स के हमें इतना ज्यादा डिटेल में नहीं जाना इतना ज्यादा भी रिलेवेंट नहीं है उसके अलावा अगर हमें डेसीमल वैल्यू स्टोर करानी है जैसे 12.5 मुझे स्टोर कराना है तो उसके लिए हम फ्लोट को यूज़ करेंगे फ्लोट यानी फ्लोटिंग पॉइंट मतलब हमारा डेसीमल जो आता है मैथ के अंदर तो ये डेसिमल नंबर्स को स्टोर कराता है विद अ प्रेसीजन टटू 23 डिजिट्स इसके लिए हम लिखते हैं सिंपली फ्लोट और जब डेसिमल वैल्यूज ही स्टोर करानी है पर बड़े नंबर स्टोर कराने हैं तो उसके लिए हम डबल को यूज़ करते हैं उसके अलावा हमारे पास बुलियन भी होता है ट्रू या फाल्स को स्टोर कराने के लिए तो बुलियन वैल्यूज के अंदर सिर्फ जीरो या वन ही स्टोर हो सकता है तो बुलियन वैल्यू स्टोर करानी है बुलियन वैल्यूज यानी ट्रू या फाल्स तो उसके लिए हम बुलियन लिख देते हैं अब वैसे डायरेक्टली बुलियन नहीं होता मा एसक्यूएल के अंदर बलिन को इंप्लीमेंट करने के लिए माय एसक्यूएल के अंदर टाइनी इंट को यूज किया जाता है तो टाइनी इंट में जीरो स्टोर्ड होगा तो मतलब फाल्स होगा और वन स्टोर्ड होगा तो मतलब ट्रू होगा ऐसे ही हमारे पास डेट का भी डाटा टाइप होता है तो इस फॉर्मेट में हम अपनी डेट्स को स्टोर कराते और डेट का टाइप यूसेज होता है सिर्फ डेट लिखकर ईयर का भी होता है डेट टाइम का भी होता है सिर्फ टाइम का भी होता है पर ये काफी ज्यादा डिटेल हो जाएगी इतना ज्यादा डिटेल में हमें नहीं जाना क्योंकि जनरली इतना ज्यादा हम यूज़ नहीं करते पर हम हर एक एग्जांपल के साथ कुछ-कुछ नए-नए डेटा टाइप्स को यूज़ करते रहेंगे हम एक्सपीरियंस लेते रहेंगे कि कैसे-कैसे डिफरेंट डेटा टाइप्स के साथ काम करते हैं तो अभी ये बड़ी सी लिस्ट देखकर घबरा नहीं जाना है इन सबको हम एक-एक करके यूज़ करेंगे पूरा बड़ा सा हमारा लेक्चर है इसके अंदर आराम से सबको हम सीखने वाले हैं अब नेक्स्ट जो हमारे एसक्यूएल डेटा टाइप्स होते हैं इसमें एक और फर्द टाइप होता है साइंड एंड अनसाइंड साइंड एंड अनसाइंड का मतलब होता है कि बाय डिफॉल्ट जो हमारे न्यूमेरिक डेटा टाइप्स होते हैं न्यूमेरिक यानी नंबर्स से रिलेटेड जैसे हमारा इंट हो गया जैसे हमारा फ्लोट हो गया जैसे हमारा डबल हो गया या जैसे हमारा टाइनी इंट हो गया तो जिन डेटा टाइप्स के अंदर जनरली हम नंबर्स को स्टोर कराते हैं इनके अंदर जनरली नेगेटिव नंबर्स भी आ सकते हैं और पॉजिटिव नंबर्स भी आ सकते हैं तो जहां पर भी नेगेटिव पॉजिटिव दोनों आते हैं उसको हम कहते हैं साइंड डेटा टाइप साइंड यानी इसपे साइन भी लग सकता है कि नेगेटिव भी वैल्यू आएगी पॉजिटिव पॉजिटिव भी आएंगी पर कुछ केसेस में हमें पता होता है कि हमारे पास सिर्फ पॉजिटिव वैल्यूज ही आने वाली हैं जैसे अगर हमने एज का कॉलम बनाया तो एज तो हमेशा पॉजिटिव ही होती है किसी की एज -2 -5 इस तरीके से तो होती नहीं है जैसे जनरली अगर हम सैलरी का कॉलम बनाते हैं तो सैलरी भी जनरली हमारी पॉजिटिव ही रहती है कि सैलरी जो आएगी वो पॉजिटिव ही रहेगी ऐसा नहीं है हमारे बैंक से डिडक्ट हो जाएगी सैलरी तो जहां पर भी हमें पहले से पता होता है कि इस कॉलम के अंदर सिर्फ पॉजिटिव वैल्यूज ही स्टोर होगी वहां अपनी रेंज को बढ़ाने के लिए हम अनसाइंड लिख देते हैं तो जैसे टाइनी इंट के अंदर हम क्या कर पाते हैं -18 से 127 तक नंबर्स को स्टोर कर पाते हैं तो इसके अंदर नेगेटिव नंबर्स भी होते हैं और पॉजिटिव नंबर्स भी होते हैं पर टाइनी इंट के अंदर हम कभी भी 129 को या 128 को स्टोर नहीं करा पाएंगे चाहे वो पॉजिटिव ही क्यों ना हो क्योंकि उसकी रेंज के बाहर है पर टाइनी इंट को अगर हम अनसाइंड कर दें तो उससे उसकी रेंज चेंज हो जाती है रेंज हो जाती है स्टार्टिंग फ्रॉम जीरो और अब हम 256 तक नंबर्स को स्टोर करा पाते हैं तो जितने भी स्पेस नेगेटिव नंबर्स ऑक्यूपाइड पॉजिटिव नंबर्स के पास चली जाएगी अगर हम उसे अनस साइंड बोल देंगे तो तो अब हम 128 129 जैसे नंबर्स को अनसाइंड टाइट के अंदर स्टोर करा सकते हैं तो एक थोड़ा सा हमारे पास फायदा आ जाता है कुछ-कुछ केसेस में जहां हम अनसाइंड को यूज़ करके अपनी रेंज को इंक्रीज कर सकते हैं अब नेक्स्ट हम बात करने वाले हैं डिफरेंट डिफरेंट एसक्यूएल कमांड्स के बारे में तो अभी हमने बेसिक देख लिया कि एसक्यूएल क्वेरीज कमांड्स काम कैसे करती हैं हमने ये समझ लिया डेटा टाइप्स क्या होते हैं अब जितनी भी हमारी एसक्यूएल की क्वेरीज होती हैं जितनी भी हमारी एसक्यूएल की कमांड्स होती हैं उनको हम पांच डिफरेंट टाइप्स के अंदर क्लासिफाई कर सकते हैं अब ये थोड़ी सी थ्योरी है इसका प्रैक्टिकल इतना ज्यादा यूसेज हम नहीं देख रहे होंगे परट क्योंकि हम एसक्यूएल के ऊपर एक अच्छी कमांड लाना चाहते हैं तो हमें बेसिक आईडिया होना चाहिए कि कौन-कौन से टाइप की एसक्यूएल कमांड्स हम पढ़ने वाले हैं सबसे पहला टाइप होता है एसक्यूएल कमांड्स का डीडीएल इसकी फुल फॉर्म होती है डेटा डेफिनेशन लैंग्वेज अब डीडीएल का मतलब होता है कि अगर हमें कोई डेटा बेस क्रिएट करना है कोई डेट टेबल क्रिएट करनी है उसको हमें रिनेम करना है या उसे डिलीट करना है तो इस तरीके के ऑपरेशंस जो क्रिएशन डिलीट इस तरीके की चीजों पर काम करते हैं यानी डाटा कैसे डिफाइन होगा स्कीमा कैसे बनेगा कॉलम्स किस तरीके से डिफाइन होंगे या चेंज करने हो कल को अगर हमें कॉलम का टाइप ही चेंज करना हो तो उस तरीके की जो चीजें होंगी वो डीडीएल में आएंगी जैसे हमारी जो क्रिएट कमांड होती है या हमारी जो ड्रॉप कमांड होती है या बाकी की जो ऑल्टर रिनेम ट्रंकड जिनको हम बाद में पढ़ेंगे ये सारी कमांड्स हमारी डीडीएल की कैटेगरी में आती है उसके बाद सेकंड टाइप होता है डी क्यूएल डी क्यूएल यानी डेटा क्वेरी लैंग्वेज कि हमने टेबल तो बना ली अब टेबल के अंदर का डाटा अगर हमें देखना है तो उसके लिए हम सिलेक्ट कमांड को यूज करते हैं जिसको हम डिटेल में पढ़ेंगे पर हमें आईडिया होना चाहिए कि जहां सिलेक्ट कमांड यूज हो रही है वहां डी कएल यानी डेटा क्वेरी लैंग्वेज यूज हो रही है फिर आती है हमारी डीएमएल डीएमएल मतलब डेटा मैनिपुलेशन लैंग्वेज यानी डाटा जो रोज हमारी स्टोर्ड हैं उसको अगर हमें चेंज करना है जैसे नया डाटा अगर हमें इंसर्ट करना है पुराने डाटा को अपडेट करना है या किसी रो को डिलीट करना है ये सारी की सारी क्वेरीज हमारी मैनिपुलेशन में आती है यानी चेंजेज में आती है फिर हमारे पास डटा कंट्रोल लैंग्वेज भी होती है जिसका काम होता है परमिशन देना जैसे लेट्स सपोज हमारे पास डेटाबेस के अंदर एक टेबल तो है फीस की और एक टेबल है स्टूडेंट्स के मार्क्स की अब हमारे पास कॉलेज का डेटाबेस है उसके अंदर दो टेबल्स हैं अब हमें पता है कॉलेज की जो अकाउंट्स टीम है अकाउंट्स टीम को फीस की एक्सेस होनी चाहिए और कॉलेज के जो टीचर्स हैं टीचर्स को हमारे मार्क्स की एक्सेस होनी चाहिए तो उस केस में हम डिसाइड कर सकते हैं कि कौन सा यूजर कौन सी टेबल को देख सकता है क्योंकि टीचर्स फीस को देखेगा और अकाउंटेंट मार्क्स को देखेगा तो उस चीज़ का ज्यादा सेंस बनाएगा नहीं इसीलिए हमारे पास वो सारी चीजें डिफाइन करने के लिए डाटा कंट्रोल लैंग्वेज होती है उसके अलावा एक ट्रांजैक्शन कंट्रोल लैंग्वेज भी होती है जो ट्रांजैक्शन कमिट्स रोल बैक्स के साथ काम करती है पर यह थोड़े से एडवांस डीबीएमएस में आ जाते हैं तो इन पर हमें इतना ध्यान अभी के लिए नहीं देखना मेजर जो हम क्वेरीज कवर करेंगे मेजर जो चीजें कवर करेंगे अपने एसक्यूएल के अंदर वो हमारी डीडीएल डी क्यूएल और डीएमएल से रिलेटेड होंगी अब अभी तो हमने टाइप देख ली कि हां एसक्यूएल कमांड्स इतने टाइप की होती है बट इसको प्रैक्टिकल यूसेज के हिसाब से हमें सिर्फ थ्योरी समझना है हम ऐसे एसक्यूएल नहीं सीखेंगे कि पहले हम एक टाइप की सीख लेंगे फिर हम दूसरे टाइप की सीख लेंगे फिर हम तीसरे टाइप की सीख लेंगे क्योंकि उससे लॉजिकली हमें चीजें उतनी अच्छे से समझ में नहीं आएंगी हम एक लॉजिकल तरीके से अपने एसक्यूएल को सीखेंगे यानी जैसे हमने पहले डेटाबेस को बनाना सीखा फिर हमने टेबल को बनाना सीखा फिर हमने टेबल के ऊपर एक दो ऑपरेशन करके देखे तो वो ज्यादा लॉजिकल तरी का है अपने एसक्यूएल के साथ काम करने का तो इसीलिए हम उसी फॉर्मेट में चीजों को सीखने वाले हैं यह सिर्फ एक्स्ट्रा चीजें हैं जिनको चाहे आप तो आप अपने नोट्स में लिख सकते हैं नहीं तो हमारे नोट्स के अंदर देखकर हाईलाइट कर सकते हैं अब नेक्स्ट हम सबसे पहले बात करने वाले हैं अपनी डेटाबेस रिलेटेड क्वेरीज के साथ डेटाबेस रिलेटेड क्वेरीज में सबसे पहली क्वेरी तो हम ऑलरेडी पढ़ चुके हैं क्रिएट डेटाबेस और फिर अपने डेटाबेस का नाम अब हम इसके साथ एक और चीज भी लिख सकते हैं इफ नॉट एजिस्ट इफ नॉट एजिस्ट अगर हमने साथ में लिख दिया तो इसका मतलब है कि अगर हो सकता है कोई डेटाबेस हम ऐसा बनाने की कोशिश कर रहे हो जो पहले से ही हो तो उसके लिए हम एक कंडीशन लिख देते हैं बीच में कि अगर नहीं है पहले से तभी क्रिएट करना है नहीं तो नहीं क्रिएट करना तो इससे क्या डिफरेंस आता है वो एक बार देख लेते हैं जैसे लेट्स सपोज यहां हम ऑलरेडी बना के देख चुके हैं क्रिएट डेटाबेस कॉलेज अब अगर हम दोबारा से यहां लिखते हैं क्रिएट डेटाबेस कॉलेज और लेट्स सपोज हम बोलते हैं कि इस कमांड को हमें रन करना है दोबारा से इसको हमने रन करने की कोशिश की तो यहां क्या आ गया यहां एरर आ गया एरर कह रहा है कि कांट क्रिएट डेटाबेस कॉलेज ये वाला हमारे पास एरर आ गया क्योंकि डेटाबेस कॉलेज तो पहले से एक्जिस्ट करता है तो दोबारा कैसे क्रिएट होगा पर अगर हम यहां पर लिख देते इफ नॉट एजिस्ट तो उसका मतलब है तभी क्रिएट करना अगर पहले से नहीं क्रिएट हो रखा तो अब अगर हम सेम लाइन को रन करेंगे इसको एग्जीक्यूट करते हैं तो इस बार क्या हुआ इस बार हमारे पास एरर नहीं आया इस बार सिर्फ वॉर्निंग आई वॉर्निंग हमें ये बता रही है कि हां डेटाबेस पहले से एजिस्ट करता था इसलिए हमने दोबारा क्रिएट नहीं किया इसीलिए जब भी हम जनरली एक नया डेटाबेस क्रिएट करते हैं एक अच्छी प्रैक्टिस होती है कि हम ये चीज लिखें बीच में इफ नॉट एजिस्ट तो उससे क्या होगा एरर नहीं आएंगे एरर आना कोड के अंदर बहुत बुरी बात होती है वार्निंग आना ठीक होता है मतलब वार्निंग हम सह लेते हैं पर एरर्स हम कभी भी नहीं सह पाते तो इसलिए एरर से हमेशा थोड़ा सा हमें बच के रहना पड़ता है तो ये चीज हम ऐड कर सकते हैं एंड सेम चीज हम कर सकते हैं ड्रॉप डेटाबेस के साथ कि अगर हमें कोई डेटाबेस डिलीट करना है उसके लिए हम लिख सकते हैं ड्रॉप डेटाबेस और अपने डेटाबेस का नाम पर उसके साथ हमें कंडीशन डाल सकते हैं इफ एजिस्ट की कि डेटाबेस अगर है तभी उसको डिलीट करो अगर नहीं है तो उसको डिलीट करने का कोई सेंस नहीं है मान लो अगर हमने कोई कंपनी का नाम का डेटाबेस कभी बनाया ही नहीं तो अगर हम उसे डिलीट करने चलेंगे तो हमारे पास एरर आ जाएगा उस एरर से बचने के लिए हम इफ एजिस्ट की कंडीशन लगाते हैं जैसे लेट्स सपोज यहां हम लिख सकते हैं डिलीट या ड्रॉप डेटाबेस हम कोई कंपनी नाम का डेटाबेस ड्रॉप करना चाह रहे हैं इसे सेलेक्ट कर लेते हैं रन करते हैं तो यहां क्या आ गया यहां हमारे पास एरर आ गया पर यहीं पर अगर हम लिख देते इफ एजिस्ट कि अगर एजिस्ट करता है तभी डिलीट करना तो इस बार हमारे पास वार्निंग आएगी दोबारा रन करते हैं तो क्या हुआ इस बार हमारे पास वार्निंग थ्रो हुई एरर नहीं आया तो ये भी एक बेस्ट प्रैक्टिस है जब भी डेटाबेस को ड्रॉप कर रहे हैं हमें इफ एजिस्ट को लिखना है इसके अलावा डेटाबेस से रिलेटेड हमारे पास एक और क्वेरी होती है शो डेटा बेसेस शो डेटा बेसेस क्या करती है हमारे सर्वर के अंदर जितने भी डेटा बेसेस हैं वो सारे के सारे हमारे पास आ जाएंगे तो उसके लिए भी हम कर सकते हैं यह वाली क्वेरीज जो हैं इनको हटा लेते हैं यहां पर हम लिख देते हैं शो डेटा बेसेस और इसे कर लेते हैं एग्जीक्यूट तो इसे एग्जीक्यूट किया तो हमारे पास सारे डेटा बेसेस आ गए ये हमारी डेटाबेस वाली टेबल आ गई जिसके अंदर एक कॉलेज नाम का डेटाबेस है एक इंफॉर्मेशन स्कीम है माय एएल है तो ये जो डेटा बेसेस हैं नीचे वाले चार ये तो इंटरनल है इनको माय एएल ही यूज़ करेगा हमने जो डेटाबेस बनाया हुआ है ये हमारा कॉलेज वाला डेटाबेस है तो हम चाहे तो सारे के सारे डेटा बेसेस को चेक भी कर सकते हैं कि अभी कौन-कौन से हमारे पास एजिस्टिफाई यहां हम लिख सकते हैं शो टेबल्स इसको अगर एग्जीक्यूट करेंगे तो कॉलेज डेटाबेस की सारी टेबल्स आ जाएंगी एग्जीक्यूट किया तो ये हमारे पास टेबल्स आ गई कौन सी टेबल है स्टूडेंट टेबल है अगर हम इसके अंदर कल को कोई और टेबल भी ऐड कर देते हैं डेटाबेस के अंदर तो फिर वो भी दिखाई देगी साथ में तो ये हमारी सारी डेटाबेस रिलेटेड क्वेरीज होती हैं जिनको हम यूज़ कर सकते हैं और यूज डेटाबेस तो हमने ऑलरेडी पढ़ लिया है कि उसको भी हम यूज़ करते हैं जब भी हम टेबल्स की बात करते हैं नेक्स्ट हम पढ़ने वाले हैं अपनी टेबल रिलेटेड क्वेरीज के बारे में अब इनमें सबसे पहली क्वेरी है हमारी क्रिएट टेबल की यानी टेबल को क्रिएट कैसे करते हैं टेबल को क्रिएट करने का सिंटेक्स हमने ऑलरेडी देखा हुआ है क्रिएट टेबल फिर अपनी टेबल का नाम फिर हम अपने कॉलम्स का नाम लिखते हैं फिर अपना डेटा टाइप लिखते हैं फिर अपना कंस्ट्रेंट हम लिखते हैं तो ये जो क्रिएट टेबल कमांड होती है ये हमें हेल्प करती है अपने टेबल का स्कीमा डिफाइन करने के लिए स्कीमा की ऑलरेडी हमने बात कर ली स्कीमा कहने का मतलब है डिजाइन और डिजाइन कहने का मतलब है कि कौन-कौन से कॉलम्स हमारी टेबल के अंदर होने चाहिए तो लेट्स सपोज अगर हमें कोई टेबल बनानी है इस टेबल को हम नाम दे देंगे स्टूडेंट तो स्टूडेंट टेबल के अंदर अगर हम सिर्फ अपनी आईडी स्टोर करना चाहते हैं और अभी के लिए अपना नाम स्टोर करना चाहते हैं तो हमें पता है कि हमारी जो आईडी होगी वो किस टाइप की होगी ये हमारी इंट टाइप की होने वाली है आईडी एंड हमारा नाम किस टाइप का होगा नानाम को हम वयर कड टाइप का रख सकते हैं और एक मैक्सिमम लिमिट दे सकते हैं कि मैक्सिमम 50 ही कैरेक्टर्स होंगे हमारे नाम के अंदर तो ये इनके डेटा टाइप्स होंगे जिनको हम डिफाइन कर सकते हैं तो इस टेबल को बनाने के लिए हम लिख सकते हैं क्रिएट टेबल स्टूडेंट रोल नंबर उसका डेटा टाइप इंट एंड इसको हमने प्राइमरी की बनाया है प्राइमरी की की वैसे दो स्पेशलिटी होती है एक तो प्राइमरी की नॉट नल होती है हमेशा कि आप आईडी किसी भी स्टूडेंट के लिए खाली नहीं रख सकते हैं और सब स्टूडेंट्स की आईडी यूनिक होनी चाहिए यानी रोल नंबर हमारा यूनिक होना चाहिए आईडी को हमने रोल नंबर कह दिया दिया तो वो यूनिक होना चाहिए प्राइमरी की के बारे में वैसे अभी हम डिटेल में बात करेंगे सेकंड हमने कॉलम बना दिया नेम का जिसके अंदर हमने डटा टाइप रख दिया है बरकर अब हम क्या करेंगे इस टेबल को हम एक बार क्रिएट करके देखते हैं अब यहां ऑलरेडी हमने एक टेबल बनाई हुई है स्टूडेंट नाम से ही तो पहले तो क्या करेंगे ये सारी चीजें यहां से हटा लेते हैं इस स्टूडेंट टेबल को एक बार हम ड्रॉप कर देते हैं तो हम लिखेंगे ड्रॉप टेबल स्टूडेंट तो उससे हमारी स्टूडेंट टेबल डिलीट हो जाएगी जैसे हम ड्रॉप डेटाबेस करते हैं वैसे ही हम टेबल को भी ड्रॉप कर सकते हैं तो ये ड्रॉप हो गई टेबल एंड इतनी चीजें अी खाली कर लेते हैं तो अभी क्या हो रहा है अभी कॉलेज है कॉलेज के अंदर कोई टेबल नहीं है तो हम यहां कर सकते हैं क्रिएट टेबल नी टेबल का नाम स्टूडेंट स्टूडेंट के अंदर हमें पता है कि हमें एक तो रोल नंबर डिफाइन करना है रोल नंबर हमारा इंटी जर टाइप का होना चाहिए और एक प्राइमरी की होना चाहिए एंड उसके साथ-साथ हमें नेम डिफाइन करना है व्हिच इज वरकर वरकर का साइज हम रखेंगे 50 के इक्वल तो यह हमारा टेबल का पूरा का पूरा सिंटेक्स आ गया क्रिएट करने के लिए इसको एग्जीक्यूट करेंगे सक्सेस हो गया एग्जीक्यूशन एंड अब फाइनली कॉलेज के अंदर हमारी इसे रिफ्रेश कर लेते हैं एक टेबल क्रिएट हो गई है स्टूडेंट नाम से और स्टूडेंट के कौन-कौन से कॉलम्स है रोल नंबर एंड नेम तो इस तरीके से हमारी टेबल हमारे पास आ गई नेक्स्ट टेबल्स के अंदर हम बात कर सकते हैं कि कैसे अपनी टेबल के लिए हम अपने पूरे के पूरे डाटा को देख सकते हैं अब उसके लिए टू सिलेक्ट एंड व्यू ऑल कॉलम्स हम यूज़ कर सकते हैं इस कमांड का वैसे एक जनरल कमांड है और जो सिलेक्ट कमांड है सिलेक्ट कमांड हमने पढ़ा था डी क्यूएल कमांड है यानी डाटा क्वेरी लैंग्वेज की कमांड है अब अब सिलेक्ट वैसे तो बहुत एक्सटेंसिव है यानी बहुत सारी चीजें सिलेक्ट में सीखने के लिए जिनको हम बाद में डिटेल में सीखेंगे बट अभी के लिए हम थोड़ा सा सीखने वाले हैं कि किसी भी पॉइंट पर अगर हमें टेबल का सारा डाटा प्रिंट करना है तो कैसे प्रिंट कर सकते हैं हम लिख सकते हैं सिलेक्ट एस्ट रिस्क ये जो एस्ट रिस्क या स्टार है इसका मतलब होता है ऑल यानी सारी रोज और सारे कॉलम सिलेक्ट कर लो अपनी टेबल से फ्रॉम व्हिच टेबल अपनी टेबल का नाम तो अगर हमने लिख दिया सिलेक्ट ऑल फ्रॉम स्टूडेंट तो उससे स्टूडेंट की पूरी की पूरी टेबल हमारे पास प्रिंट होकर आ जाएगी तो हम उसे लिख सकते हैं हम लिख देंगे सेलेक्ट स्टार फ्रॉम स्टूडेंट टेबल इसको कर लेंगे एग्जीक्यूट तो सक्सेसफुल हो गया और हमारे पास टेबल आ गई टेबल में रोल नंबर है नेम है पर कोई भी डाटा नहीं है क्योंकि अभी तक हमने स्टूडेंट के अंदर कोई डेटा स्टोर ही नहीं कराया तो बहुत ही नॉर्मल चीज है कि अभी डाटा प्रिंट नहीं हो कर आया पर बेसिकली हमने सीख लिया कि टेबल का डाटा अगर हमें कभी भी देखना है तो हम सिंपली सेलेक्ट स्टार फ्रॉम लिख सकते हैं और फिर अपनी टेबल का नाम नेक्स्ट हम बात करने वाले हैं कि अपनी टेबल के अंदर हम डेटा को इंसर्ट कैसे कर सकते हैं यानी डेटा को अगर हमेंड ऐड करना है टेबल के अंदर तो वो कैसे कर सकते हैं उसके लिए हम कमांड लिखते हैं इंसर्ट इनटू और फिर अपनी टेबल का नाम जिस भी टेबल के अंदर हमें इंसर्ट करना है अपनी डाटा को जैसे लेट्स सपोज हमने कोई टेबल बनाई थी अपनी स्टूडेंट टेबल को हमने क्रिएट किया था स्टूडेंट के अंदर हमारे पास दो कॉलम थे एक था हमारे पास रोल नंबर का और एक हमारे पास नेम का कॉलम था अब हमें इंसर्ट इनटू स्टूडेंट टेबल हम लिख सकते हैं तो यहां हमने लिख दिया इंसर्ट इनटू स्टूडेंट फिर हम अपने कॉलम्स के नाम लिखते हैं यानी कॉलम नेम वन कॉलम नेम टू तो हम हम चाहे तो पहले नेम को भी स्टोर करा सकते हैं फिर रोल नंबर को स्टोर करा सकते हैं तो हम डिफाइन करते हैं कि कौन सी चीज हम पहले भेजना चाहते हैं पर जनरली हम अपना वही ऑर्डर फॉलो करते हैं जिस ऑर्डर में हम अपने कॉलम्स को डिफाइन करते हैं तो पहले हम अपना रोल नंबर कॉलम लिख देंगे फिर अपना नेम कॉलम लिख देंगे फिर हम लिखते हैं वैल्यूज कि कौन-कौन सी वैल्यूज को स्टोर कराना है कॉलम वाइज तो फिर हम अपनी कॉलम वन की वैल्यू वन लिखते हैं कॉलम टू की वैल्यू वन लिखते हैं जैसे अगर हमने यहां पर लिख दिया 101 करण तो क्या होगा 10 करंट कहने का मतलब है कॉलम वन के अंदर वैल्यू वन आ जाएगी यानी यहां आ जाएगा 101 और फिर आ जाएगा करंट उसके बाद सेकंड लाइन के अंदर कॉलम वन की वैल्यू टू कॉलम टू की वैल्यू टू यानी 102 और अर्जुन का मतलब है यहां पर आ जाएगा 102 और यहां पर हमारे पास आ जाएगा अर्जुन तो इस तरीके से फर्स्ट रो का डाटा सेकंड रो का डाटा कॉमा से सेपरेट करके हम लिख सकते हैं और हम चाहे तो मल्टीपल रोज लिख सकते हैं अगर हमें 10 रो का डाटा स्टोर कराना है तो भी उसको एक-एक करके एक-एक करके हम लिख सकते हैं तो ये हमारा जनरल सिंटेक्स रहता है इंसर्ट इनटू टेबल का नाम फिर अपने कॉलम्स का नाम फिर वैल्यूज और फिर अपनी एक-एक रो की वैल्यू अब ये जो वैल्यूज हम डिफाइन कर रहे हैं इसमें ऑर्डर बहुत इंपॉर्टेंट है जिस ऑर्डर में हमने अपने कॉलम्स का नाम लिखा है उसी ऑर्डर में हमें अपनी वैल्यूज लिखनी होती है तो जैसे अगर हमने पहले रोल नंबर यहां पे लिखा है तो वैल्यूज में भी पहले रोल नंबर आएगा बाद में नेम लिखा है तो वैल्यूज में भी बाद में हमारा नेम आएगा तो एक बार इस अपनी स्टूडेंट टेबल के अंदर डाटा इंसर्ट करके देखते हैं हम लिखेंगे इंसर्ट इंटू अपनी टेबल का नाम स्टूडेंट और स्टूडेंट के अंदर सबसे पहले तो कॉलम डिफाइन कर लेते हैं तो पहले हम रोल नंबर स्टोर करना चाहते हैं फिर हम अपना नेम स्टोर करना चाहते हैं और उनके अंदर हम वैल्यू स्टोर करना चाहते हैं तो पहली वैल्यू लिख देते हैं 101 इसको लिख देते हैं करण कॉमा दूसरी वैल्यू लिख सकते हैं 102 इसके अंदर लिख देते हैं अर्जुन कॉमा हम चाहे तो और वैल्यूज लिख सकते हैं हम लिख सकते हैं 103 और इसके अंदर हम लिख सकते हैं राम एंड लास्ट में आ गया हमारा सेमीकलन तो ये हमने पूरी की पूरी एसक्यूएल कमांड लिख दिया अपनी डेटा को इंसर्ट करने के लिए इसको हम एग्जीक्यूट कर सकते हैं एग्जीक्यूट किया तो डेटा सक्सेसफुली ऐड हो गया और अब हम अपनी स्टूडेंट टेबल के अंदर जाकर देख सकते हैं तो उसके लिए सिलेक्ट कर लेंगे एग्जीक्यूट करेंगे सिलेक्ट करके और अब हमारी टेबल के अंदर डाटा दिख रहा है 10 करण 102 अर्जुन 103 राम तो इस तरीके से हमारा डाटा अब हमें दिखाई दे रहा है इसको कर लेते हैं क्रॉस अब लेट्स सपोज अगर हमें सिर्फ सिंगल डेटा कल को ऐड करना है तो सिंगल डेटा ऐड करने के लिए हम सिंपली लिख सकते हैं इंसर्ट इनटू स्टूडेंट एंड वैल्यूज कुछ इस तरीके से तो इंसर्ट इनटू स्टूडेंट हम रोल नंबर 104 लिख सकते हैं और इसको लिख सकते हैं राम हो गया श्याम लिख लेते हैं तो इंसर्ट इनटू स्टूडेंट रोल नंबर एंड नेम और वैल्यूज 104 और शाम अब क्योंकि हमें पता है कि अगर हमें अपना ऑर्डर पता कि रोल नंबर और नाम हमने वैसे ही डिफाइन किया था और इनके टाइप भी अलग-अलग हैं जैसे हमें पता है रोल नंबर तो इंटी जर वैल्यू है और नेम हमारा ऑलरेडी वैरकर है तो उस केस में इस चीज को हटाया भी जा सकता है मतलब हम सेम ऑर्डर में अगर चीजों को एंटर करेंगे तो उस केस में हम चीजें हटा सकते हैं और इन्हें सेम लाइन पर भी लिख सकते हैं तो क्योंकि छोटी चीज हो जाएगी तो अब ये क्या हुआ यही इंसर्ट इनटू कमांड का एक स्मॉल वर्जन है तो अगर कभी हमें ऐसा सिंटेक्स भी दिखाई देता है तो वो भी वर्क करेगा पर उस केस में हम सिंगल ही वैल्यू को एंटर करा रहे होते हैं जनरली मल्टीपल वैल्यूज होंगी तो हम इस सिंटेक्स को प्रेफर करेंगे और सिंगल वैल्यू होगी तो हम इस सिंटेक्स को प्रेफर करेंगे पर इस केस में हमें अपना ऑर्डर पता होना चाहिए टाइप अलग-अलग होनी चाहिए तो जब बहुत सिंपल बहुत छोटी टेबल हो तब हम ये प्रेफर कर सकते हैं तो इसको करेंगे एग्जीक्यूट ये भी एग्जीक्यूट हो गया एंड अब हम अपनी टेबल को दोबारा से चेक कर सकते हैं सिलेक्ट कमांड से तो अब 104 शाम भी हमारी टेबल के अंदर ऐड हो गया है तो इस तरीके से हम इंसर्ट कराते हैं अपनी टेबल के अंदर मल्टीपल डाटा को अब नेक्स्ट हम सॉल्व करने वाले हैं अपना एक प्रैक्टिस क्वेश्चन प्रैक्टिस क्वेश्चन के अंदर हमें यह सारी चीजें दी गई है सबसे पहले तो हमें एक डेटाबेस को क्रिएट करना है आपकी कोई कंपनी आप के पास है एक्स वाईज नाम से तो हमें उसके लिए डेटाबेस क्रिएट करना है फिर स्टेप वन होगा कि उस डेटाबेस के अंदर हम एक टेबल को क्रिएट करें जिसके अंदर हम अपने एंप्लॉयज का डाटा स्टोर कराएंगे एंप्लॉयज की इंफॉर्मेशन उसमें हमारी आईडी आ जाएगी नेम आ जाएगा और सैलरी आ जाएगी एंप्लॉयज की स्टेप टू होगा कि सारे के सारे ये डाटा हम अपनी टेबल के अंदर ऐड करें और थर्ड होगा कि हमें सारे के सारे डाटा को सिलेक्ट और व्यू करना है तो यहां तक हमने काफी सारी चीजें सीखी हैं जिससे हम इस प्रैक्टिस क्वेश्चन को सॉल्व कर सकते हैं तो यहां पर एक बार वीडियो पॉज करनी है खुद से कमांड्स लिखने की कोशिश करनी है एंड उसके बाद अपने सलूशन को आकर एक बार देख लेना है तो सबसे पहले शुरुआत करते हैं डेटाबेस के साथ हमें ऑलरेडी पता है डेटाबेस को क्रिएट कैसे करना है तो डेटाबेस को क्रिएट करने के लिए यह सारी चीज य से हटा लेते हैं हम सिंपली लिख सकते हैं क्रिएट इससे कैपिटल में लिख लेते हैं क्रिएट डेटाबेस एक्स वाईजी एक्स वाईजी या एक्स वाजी कंपनी इस को हम कह देते हैं कंपनी एंड इसे यहां से कर देते हैं तो इतने प पार्ट को हम कर लेते हैं रन इसे हमने रन किया सक्सेसफुली एग्जीक्यूट हो गया यहां रिफ्रेश करके चेक भी कर सकते हैं हमारे लिए हमारी एक् वाईजी कंपनी का डेटाबेस क्रिएट हो गया अब हम कर सकते हैं यूज एक वाईजी कंपनी तो इसको भी कर लेते हैं एग्जीक्यूट सक्सेसफुल हो गया और अब हम अपनी एक्स वाईज कंपनी को यूज़ कर रहे हैं और इसके अंदर अब आ जाते हैं अपने स्टेप वन पे स्टेप वन पे हमें एक टेबल क्रिएट करनी है तो एक टेबल फॉर्मेट बना के देख लेते हैं टेबल के अंदर हमें एंप्लॉई की इंफॉर्मेशन स्टोर करानी है तो इस टेबल को हम नाम दे सकते हैं एंप्लॉई और इसके अंदर क्या-क्या इंफॉर्मेशन स्टोर करानी है एक हमें आईडी स्टोर करानी है सबकी एक हमें नाम स्टोर कराना है और एक हमें सैलरी स्टोर करानी है तो अब डाटा टाइप डिफाइन कर लेते हैं अब हमें पता है आईडी जनरली हम चाहे तो वयर कार भी रख सकते हैं हम चाहे तो इंटी जर भी रख सकते हैं तो इसके लिए डाटा टाइप हम रखेंगे इंट और क्योंकि हम चाहते हैं आईडी हमारी यूनिक रहे तो इसके लिए कंस्ट्रेंट हम लगाएंगे कि यह जो है हमारी प्राइमरी की होनी चाहिए फिर नेम की बात करते हैं नेम के केस में हमें पता है कि हम इसे बनाएंगे वरकर और कोई भी लिमिट दे सकते हैं 100 की दे सकते हैं 50 की दे सकते हैं नेम पर सैलरी की बात करें तो सैलरी हमें पता है इंटी जर वैल्यू कुछ हो सकती है तो इसके लिए इंट भी यूज कर सकते हैं हम चाहे तो इसको फ्लोट भी यूज कर सकते हैं क्योंकि सैलरी में कई बार ऐसा भी हो सकता है 25000 25 तो डेसिमल भी आ सकता है तो उसके लिए हम फ्लोट भी यूज कर सकते हैं पर सिंपल रखने के लिए हम इंट यूज कर लेते हैं तो इस टेबल को हम क्रिएट करेंगे टेबल क्रिएट करने का सिंटेक्स क्या होता है हम लिखते हैं क्रिएट टेबल और फिर अपनी टेबल का नाम टेबल का नाम हम रखेंगे एंप्लॉई एंप्लॉई टेबल के अंदर हमें तीन कॉलम्स बनाने हैं अपने पार्ट को थोड़ा सा हाईलाइट कर लेते हैं हम इस डेटाबेस के ऊपर काम कर रहे हैं यूज कर रहे हैं क्रिएट टेबल के अंदर तीन कॉलम्स बनाने हैं सबसे पहला हमारा कॉलम का नाम होगा आईडी आईडी हमारी इंट टाइप की होगी और एक प्राइमरी की होने वाली है सेकंड का नाम होगा नेम नेम हमारा वरकर टाइप का होगा लिमिट इसको 100 दे सकते हैं 50 दे सकते हैं एंड थर्ड होगी हमारी सैलरी सैलरी हमारी इंट टाइप की होगी तो इस तरीके से हमने इसे बना लिया इसे चाहे तो नॉट नल भी लिख सकते हैं बस अभी के लिए सिंपल रख लेते हैं तो यह हमारी टेबल क्रिएट हो जाएगी इस कमांड को एक बार एग्जीक्यूट कर लेते हैं हमने एग्जीक्यूट कर लिया सक्सेसफुली टेबल क्रिएट हो गई यहां पर भी रिफ्रेश करेंगे तो एक्स वाईजी के अंदर हमारी टेबल आ गई टेबल के अंदर एंप्लॉई कॉलम में आईडी नेम एंड सैलरी अब सेकंड स्टेप पर आ जाते हैं कि हमें यह सारा डाटा अपने टेबल के अंदर इंसर्ट करना है तो इंसर्ट करने के लिए हम लिख सकते हैं इंसर्ट इनटू अपनी टेबल का नाम वच इज एंप्लॉई टेबल का नाम हम कैपिटल नहीं लिख सकते एसक्यूएल कमांड्स को हम कैपिटल में लिख सकते हैं पर टेबल का नाम केस सेंसिटिव होता है तो उसमें जो चीज लोअर केस में वो लोअर में ही रहेगी जो अपर में है वो अपर में ही रहेगी पहले हम आईडी एंटर करेंगे फिर हम नेम एंटर करेंगे फिर हम सैलरी एंटर करने वाले हैं इंटू या वैल्यूज वैल्यूज डिफाइन कर लेते हैं अपनी पहली जो हमारी आईडी होने वाली है दैट इज वन नेम इज एडम एंड सैलरी इज 25000 तो कॉमा नहीं देना है हमें 25000 के लिए हम सिंपली अपना एक नंबर लिख रहे हैं फिर उसके बाद टू आ गया बॉब आ गया सैलरीज 30000 उसके बाद ्र आ गया हमारे पास केसी आ गया नाम में एंड 40000 एंड सेमीकलन इतने पार्ट को कर लेते हैं सेलेक्ट एंड एग्जीक्यूट तो इससे क्या हुआ एग्जीक्यूशन हो गया और हमारा ये सारा डटा अब टेबल के अंदर जाकर स्टोर हो गया अब थर्ड स्टेप पर आ जाते हैं कि अपने डेटा को हम चेक कैसे कर सकते हैं डटा हमारा स्टोर हो गया उसके लिए हमें सिलेक्ट कमांड को लिखना पड़ेगा हम लिखेंगे सिलेक्ट ऑल फ्रॉम एंड फिर अपनी टेबल का नाम व्हिच इज़ एंप्लॉई टेबल इसको कर लेते हैं सिलेक्ट एंड रन तो टेबल हमारे पास आ गई वन एडम सैलरी टू बॉब सैलरी थ्री केसी सैलरी तो इस तरीके से हमारी टेबल के अंदर डाटा जो है सक्सेसफुली ऐड हो गया एंड अब हम चाहे तो इस डेटाबेस को ड्रॉप कर सकते हैं या इसको ऐसे के ऐसे यहां पर रख सकते हैं तो इस तरीके से हम अपने डेटाबेस को क्रिएट करते हैं उसमें टेबल्स को क्रिएट करते हैं टेबल्स के अंदर डाटा को ऐड करते हैं और फिर उस डाटा को हम चेक भी कर सकते हैं नेक्स्ट हम बात करने वाले हैं अपनी कीज के कौन के बारे में अब यहां पर कीज कहने का मतलब असली चाबी नहीं है बेसिकली जो भी हम टेबल क्रिएट करते हैं अपने डेटा बेसेस के अंदर इन टेबल्स के अंदर कुछ स्पेशल कॉलम्स होते हैं जैसे मान लेते हैं ये हमारा कोई स्पेशल कॉलम हो गया या ये दूसरे तरीके का स्पेशल कॉलम्स हो गया तो इन स्पेशल कॉलम्स को हम अपनी कीज कहते हैं हम दो कीज के बारे में बात करेंगे जो सबसे इंपॉर्टेंट है एक होती है हमारी प्राइमरी की और एक होती है हमारी फॉरेन की अब प्राइमरी का मतलब इंग्लिश के अंदर होता है मेन सबसे मेन चीज तो वही काम होता है हमारी प्राइमरी की का प्राइमरी की हमारी कोई भी टेबल के अंदर एक कॉलम या एक सेट ऑफ कॉलम्स हो सकते हैं मतलब दो-तीन कॉलम्स का या तो मिश्रण को हम अपनी प्राइमरी की कह देंगे या हम एक सिंगल कॉलम को अपनी प्राइमरी की कहेंगे अभी के लिए सिंपलीसिटी के लिए सोचना है कि हमारा सिंगल कॉलम ही हमारी प्राइमरी की है अब टेबल के अंदर एक ऐसा कॉलम होता है जो यूनिक आइडेंटिफिकेशन नंबर अलग होना चाहिए अगर हर स्टूडेंट के लिए रोल नंबर अलग है तो रोल नंबर क्या बन सकता है प्राइमरी की बन सकता है अब स्टूडेंट के लिए तो हम और भी इंफॉर्मेशन स्टोर कराते हैं जैसे स्टूडेंट के लिए हो सकता है हम नेम स्टोर कराएं पर दो स्टूडेंट्स का नाम सेम हो सकता है इसीलिए नेम को हम प्राइमरी की नहीं बना सकते वैसे ही एंप्लॉयज के लिए भी नेम को प्राइमरी की नहीं बना सकते ना उनकी सैलरी को प्राइमरी की बना सकते क्योंकि दो लोगों की सैलरी सेम हो सकती है लेकिन अगर कंपनी के अंदर जाकर जो हमें एंप्लॉई आईडी मिलती है हर किसी के एंप्लॉई आईडी अलग होती है तो एंप्लॉई आईडी को प्राइमरी की बनाया जा सकता है तो जो भी हमारी प्राइमरी की बनती है वो एक तो यूनिकल आइडेंटिफिकेशन नल नहीं हो सकती तो प्राइमरी की हमेशा यूनिक तो होती है साथ के साथ नॉट नल भी होती है यानी प्राइमरी की की वैल्यू कभी भी ऐसा नहीं हो सकता कि खाली हो हमेशा प्राइमरी की के अंदर कोई ना कोई वैलिड वैल्यू स्टोर करनी पड़ती है जैसे इसका एग्जांपल ये हो सकता है कि हमने कोई टेबल क्रिएट की और इसके अंदर हम स्टूडेंट का डाटा स्टोर करा रहे हैं स्टूडेंट नाम की टेबल है दो चीजें स्टोर करानी हैं इसके अंदर एक तो रोल नंबर एंड एक हमारा नेम तो हमेशा जो हम रोल नंबर है इसको अपनी प्राइमरी की बना सकते हैं तो हमेशा हर स्टूडेंट के लिए हमारा रोल नंबर लिखा जाएगा और किसी के लिए भी वैल्यू नल नहीं होगी और ना सेम होगी उसी तरीके से हमारे पास कांसेप्ट आता है फॉरेन की का फॉरेन की या तो एक कॉलम होती है या एक सेट ऑफ कॉलम्स होते हैं जो एक टेबल के अंदर रेफर करते हैं टू द प्राइमरी की ऑफ़ अनदर टेबल यानी फॉरेन की फॉरेन का मतलब हमें पता ही है फॉरेन यानी दूसरे देश का तो वैसे ही ये एक ऐसा कॉलम होता है जो इस टेबल के अंदर तो है मतलब किसी एक टेबल के अंदर यह वाला कॉलम एजिस्ट तो करता है पर ये किसी दूसरी टेबल की प्राइमरी की है तो इसका एग्जांपल हम देख सकते हैं जैसे हमारे पास ये एक टेबल वन है स्टूडेंट्स की और ये एक टेबल टू है सिटीज की अब सिटीज के अंदर हमारी सारी की सारी सिटीज का नाम है जैसे पुणे हो गई तो इनको हमने एक यूनिक आईडी दी है ये वन हो गया मुंबई टू हो गया दिल्ली थ्र हो गया तो इस तरीके से हम कह सकते हैं जो सिटी वाली टेबल है इसमें जो आईडी है ये हमारी प्राइमरी की है वहीं दूसरी तरफ स्टूडेंट वाली टेबल है स्टूडेंट टेबल के अंदर हर स्टूडेंट की आईडी है उनका नाम है सिटी की आईडी है और सिटी का नाम है तो यहां पर कह सकते हैं ये जो आईडी है ये स्टूडेंट टेबल की प्राइमरी की है तो ये इस टेबल की प्राइमरी की होगी जो यूनिक नॉट नल होगी ये इस टेबल की प्राइमरी की होगी जो यूनिक नॉट नल होगी अब स्टूडेंट टेबल के अंदर हम सिटी की आईडी लिख रहे हैं जो ये सिटी की आईडी है इवन दो यहां पर तो रिपीट हो रहा है यहां पे सिटी की आईडी वन है क्योंकि सिटी पुणे है यहां पे भी सिटी की आईडी वन है क्योंकि सिटी पुणे है पर क्योंकि ये जो कॉलम है ये अपने आप में किसी दूसरी यानी इस टेबल की प्राइमरी की है तो यहां पर आकर ये एक फॉरेन की बन जाएगी तो जो कॉलम दूसरे किसी की के अंदर एक प्राइमरी की होता है इस टेबल के अंदर आकर वो एक फॉरेन की बन जाएगा तो हम कह सकते हैं ये जो है यहां पर सिटी आईडी हमारी एक फॉरेन की है यहां से हमें ये पता चल गया प्राइमरी की के अंदर यूनिक वैल्यूज होनी चाहिए पर फॉरेन की के अंदर यूनिक वैल्यूज होना जरूरी नहीं है क्योंकि फॉरेन की के अंदर वैल्यूज हमारी रिपीट कर सकते हैं क्योंकि वो दूसरी टेबल के अंदर है तो हमारे पास किसी भी टेबल में मल्टीपल फॉरेन कीज हो सकती है जैसे हो सकता है एक फॉरेन की एक टेबल की हो दूसरी टेबल की भी हम फॉरेन की लेकर आ सकते हैं जैसे यहां तो एक ही फॉरेन की थी हो सकता है ऐसे ही हमने मार्क्स का कोई अलग से स्टोर कर रखा हो और दूसरी भी कोई मार्क्स की टेबल हमने बना रखी हो तो जो मार्क्स की आईडी हो जाएगी या कोर्स की आईडी हो जाएगी वो भी हमारे पास एक और फॉरेन की हो जाएगी तो प्राइमरी की एक ही होती है एक प्राइमरी की फॉरेन कीज मल्टीपल हो सकती हैं अब फॉरेन कीज के अंदर हमारे पास डुप्लीकेट वैल्यूज भी हो सकती हैं हम चाहे तो फॉरेन कीज के अंदर नल वैल्यूज भी स्टोर कर सकते हैं तो फॉरेन की के ऊपर कोई वो ऑब्लिगेशन नहीं होते तो प्राइमरी की और फॉरेन की में ये मेजर डिफरेंस हमारे पास होता है तो बेसिक अगर हमसे कोई पूछता है प्राइमरी की फॉरेन की बेसिकली स्पेशल कॉलम्स होते हैं प्राइमरी की हमारे पास एक ही होती है टेबल के अंदर यूनिक और नॉट नल होती है फॉरेन की मल्टीपल हो सकती है डुप्लीकेट भी हो सकती है नल वैल्यूज भी रख सकती हैं और दूसरी की की प्राइमरी की हमारी किसी भी टेबल के अंदर फॉरेन की कहलाती है अब बात बात करते हैं कुछ कुछ कंस्ट्रेंट्स की यानी जब भी हम टेबल को डिफाइन कर रहे थे टेबल को डिफाइन करने के लिए जब हम अपना कॉलम नेम लिखते हैं तो कॉलम नेम के साथ दो चीजें हमें बतानी पड़ती है एक होता है कि हम कॉलम का क्या डाटा टाइप रखेंगे और दूसरा होता है कि हम कॉलम का क्या कंस्ट्रेंट रखेंगे तो हमें ये तो पता है कॉलम का नाम हम कुछ भी रख सकते हैं डेटा टाइप्स हमने पढ़ लिए अब बात कर रहे हैं कि कंस्ट्रेंट्स क्या रख सकते हैं हम अपने कॉलम के साथ तो एसक्यूएल के अंदर कंस्ट्रेंट्स का मतलब होता है कुछ स्पेसिफिक रूल्स रूल्स जैसे अगर मान लो मैंने अपना कॉलम नेम रख दिया एज अगर मैं एज टाइप का डाटा स्टोर करा रही हूं जिसका डटा टाइप हो गया इंटी जर और मुझे ऐसे ही एजेस स्टोर करवानी है जो 18 से ऊपर हो मतलब 18 प्लस एजेस हो तो वहां मुझे कोई कंडीशन लगानी पड़ेगी अपने डाटा पर या फिर मुझे कोई आईडी स्टोर करानी है इंटी जर टाइप की या मुझे कोई रोल नंबर स्टोर कराना है इंटी जर टाइप का पर मुझे चाहिए ये जो रोल नंबर है ये एक प्राइमरी की बने तो इसके ऊपर एक कंस्ट्रेंट मुझे लगाना पड़ेगा प्राइमरी की कंस्ट्रेंट का मतलब होता है नॉट नल और यूनिक वैल्यूज होनी चाहिए तो वो क्या हो गया एक मैंने रूल स्पेसिफाई कर दिया किस तरीके का डाटा इस कॉलम के अंदर स्टोर हो सकता है और उन्हीं को हम एसक्यूएल कंस्ट्रेंट्स कहते हैं हमारे पास वैसे तो कई सारे कंस्ट्रेंट्स होते हैं पर हम सबसे ज्यादा कॉमनली और पॉपुलर कंस्ट्रेंट्स की बात करेंगे सबसे पहला हमारा नॉट नल कंस्ट्रेंट नॉट नल कंस्ट्रेंट हमने जिस भी कॉलम के सामने लगा दिया उस कॉलम के अंदर हम कभी भी नॉट नल वैल्यूज को नहीं रख सकते यानी उसको कभी भी हम खाली नहीं छोड़ सकते जैसे यहां हमने लिख दिया कॉलम वन इंटी जर नॉट नल तो कॉलम वन के अंदर हमेशा हमें किसी ना किसी वैल्यू को स्टोर कराना पड़ेगा दूसरा कंस्ट्रेंट होता है हमारे पास यूनिक वैल्यूज का इस कॉलम को जिस भी कॉलम को हमने यूनिक कंस्ट्रेंट दे दिया उसके अंदर हमेशा यूनिक वैल्यूज ही आएंगी जैसे हमने अगर लिख दिया कॉलम टू इंट यूनिक तो कॉलम टू की वैल्यू हमेशा यूनिक होनी चाहिए इसको एक बार एक टेबल बनाकर टेस्ट करते हैं लेट्स सपोज हमने एक टेबल बनाई क्रिएट टेबल इसको हम कह देते हैं टेंप वन टेंप वन के अंदर हम दो कॉलम एक कॉलम बना लेते हैं इसको हम कहते हैं आईडी और इसे इंटी जर टाइप का बनाते हैं और इसे कहते हैं यूनिक तो यह हमने टेबल वन बना ली इसको एग्जीक्यूट करते हैं तो हमारे पास टेबल वन आ गई टेबल्स के अंदर रिफ्रेश कर लेंगे तो ये हमारी टेंप वन वाली टेबल आ गई अब इस टेबल के अंदर हम कुछ डटा ऐड करते हैं तो हम लिख सकते हैं इंसर्ट इंटू टेंप वन वैल्यूज लिख देते हैं सबसे पहले आईडी अगर हमें ऐड करनी है तो मैं ऐड करने वाली हूं आईडी 101 इस तरीके से हम अपनी आईडी ऐड कर सकते हैं 101 इसको कॉपी कर लेते हैं एंड दोबारा से मैं आईडी ऐड करूंगी 101 तो फर्स्ट टाइम में तो आईडी एग्जीक्यूट हो जाएगी ऐड हो जाएगी सिलेक्ट करके देख सकते हैं सिलेक्ट ऑल फ्रॉम एव हमारी 101 जो आईडी है व टेबल के अंदर ऐड हो चुकी है तो यहां पर हमें दिखाई दे रही है अब जब सेकंड टाइम हम सेम चीज रन करेंगे 101 को मुझे दोबारा ऐड कराना है तो उसके लिए क्या होगा उसके लिए यहां पर एरर आ जाएगा एरर आ रहा है डुप्लीकेट एंट्री 101 यानी क्योंकि हमने इसे यूनिक कंस्ट्रेंट दिया था तो इसके अंदर हम डुप्लीकेट आईडी को स्टोर नहीं करा सकते तो यह काम होता है हमारी यूनिक कंस्ट्रेंट का जैसे किसी केस में हम चाह सकते हैं कि हर एक स्टूडेंट के पास जो कोर्सेस हो कॉलेज के अंदर वो सारी यूनिक कोर्सेस हो तो उसके लिए हम यूनिक कंस्ट्रेंट लगा सकते हैं तीसरा होता है हमारा प्राइमरी की कंस्ट्रेंट प्राइमरी की कंस्ट्रेंट किसी भी कॉलम को यूनिक और नॉट नल बना देता है पर एक ही कॉलम को हम प्राइमरी की बना सकते हैं जैसे यहां पर लिखा है इट कैन बी ओनली यूज्ड फॉर वन प्राइमरी की तो प्राइमरी की बाय डिफॉल्ट यूनिक और नॉट नल बना देता है किसी भी कॉलम को और प्राइमरी की को डिफाइन करने के दो तरीके होते हैं सबसे पहला तो हम अपने कॉलम का नाम लिख दें इंट लिख उसका टाइप लिख दें और फिर हम कंस्ट्रेंट में लिख दें प्राइमरी की जैसे यहां पर अगर हमें टेबल के अंदर टेंप वन के अंदर अपनी आईडी को प्राइमरी की बनाना है तो उसके लिए हम लिख सकते हैं आईडी इंट और यहां पर हम लिख सकते हैं प्राइमरी की तो पहला तरीका तो होगा इस तरीके से प्राइमरी की बनाने का दूसरा तरीका होता है कि लेट्स सपोज हमने किसी टेबल के अंदर बहुत सारी डिफरेंट डिफरेंट चीजें डिफाइन कर दी जैसे हमने इंटी जर टाइप की आईडी डिफाइन कर दी हमने नेम डिफाइन कर दिया अपना यर कड टाइप का उसके अलावा हमने एज डिफाइन कर दी इंटी जर एज हो गई हमारे पास इसे स्मॉल में लिख लेते हैं या और उसके साथ-साथ हमने कोई सिटी भी डिफाइन कर दी इसको भी यर कर लेते हैं 20 तो इस तरीके से हमने कई सारा डाटा डिफाइन कर दिया अब इस डेटा में से हमें चूज करना है हमें किसे प्राइमरी की बनाना है तो उसे प्राइमरी की लेट्स सपोज हमें बनाना है अपने आईडी को तो आईडी को प्राइमरी की बनाने के लिए या तो हम यहां पर प्राइमरी की लिख सकते हैं या फिर हम कॉमा करके यहां पर लिख सकते हैं अपना प्राइमरी की और ब्रैकेट में उस कॉलम का नाम जिसे हम प्राइमरी की बनाना चाहते हैं तो हमने क्या किया यहां पर आईडी को अपनी प्राइमरी की बना दिया तो ये सेकंड सिंटेक्स है किसी भी कॉलम को अपनी प्राइमरी की बनाने का अगर लेट्स सपोज हम दो चीजों के मिश्रण को प्राइमरी की बनाना चाहते हैं कि मुझे तो चाहिए हर बच्चे का आईडी और उसकी नाम साथ में प्राइमरी की बनने चाहिए तो उसके लिए हम यहां पर लिख सकते हैं आईडी कॉमा नेम तो इन दोनों का कॉमिनेशन प्राइमरी ही होगा उस केस में हो सकता है आईडी डुप्लीकेट हो जाए हो सकता है नाम डुप्लीकेट हो जाए पर दोनों का कॉमिनेशन कभी डुप्लीकेट नहीं होगा इसको कहने का मतलब है कि अगर दो कॉलम्स प्राइमरी की बनते हैं तो हो सकता है हमारे पास यह आईडी है ये हमारे पास नाम है हो सकता है एक बच्चे की आईडी 101 हो दूसरे बच्चे की भी आईडी 101 हो हो सकता है इसकी 102 हो गई इसकी 103 हो गई हो सकता है एक बच्चे का नाम राम हो इसका नाम भी राम है पर इसका नाम हमेशा श्याम होगा मतलब दोनों का कॉमिनेशन हमेशा यूनिक रहेगा ये हो सकता है डुप्लीकेट हो ये हो सकता है डुप्लीकेट हो पर कॉमिनेशन यूनिक रहेगा कॉमिनेशन यूनिक रहेगा तो हम दो कॉलम्स के कॉमिनेशन को भी अपनी प्राइमरी की बना सकते हैं नेक्स्ट कंस्ट्रेंट जिसकी हम बात करेंगे ये हमारा फॉरेन की कंस्ट्रेंट फॉरेन की का वैसे बेसिक काम होता है दो टेबल्स को लिंक करना जैसे हमने पहले बात की थी कि हमारी सिटी और हमारे स्टूडेंट की टेबल को लिंक करता है तो इस लिंक से बचाने के लिए हम अपनी फॉरेन की डिक्लेयर कर देते हैं जैसे सबसे पहले मान लेते हैं हमने कोई टेबल बनाई टेंपरेरी टेंपरेरी के अंदर हमने लिख दिया कस्टमर आईडी इंट तो ये तो हमारी कोई नॉर्मल कॉलम हो गया अब हमें पता है कि हमारे पास ये तो एक टेबल है टेंपररी नाम से पर ऑलरेडी एक और टेबल बनी हुई है कस्टमर के नाम से और कस्टमर वाली टेबल के अंदर अपनी एक आईडी है और ये आईडी क्या है ये आईडी प्राइमरी की है और हमें पता है इस कस्टमर आईडी में भी हम यही प्राइमरी की इस वाली टेबल की प्राइमरी की को स्टोर कराएंगे तो हम क्या कर सकते हैं इस कस्टमर आईडी को एक फॉरेन की डिक्लेयर कर सकते हैं डिक्लेयर करने के लिए हम लिखते हैं फॉरेन की और उसके अंदर फिर लिखते हैं कौन से कॉलम को हम फॉरेन की बनाना चाह रहे हैं अपनी कस्टमर आईडी को और लिखते हैं रेफरेंसेस कस्टमर यानी इस टेबल का नाम और इस टेबल की प्राइमरी की तो कौन सी टेबल से हम अपनी फॉरेन की लेकर आएंगे वो टेबल और कॉलम हम डिफाइन कर देते हैं और किसे हम अपनी फॉरेन की बनाएंगे वो कॉलम हम डिफाइन कर देते हैं यह वाला कॉलम हमारी नई टेबल का होता है और यह वाला टेबल और कॉलम हमारी पुरानी ऑलरेडी एजिस्टिफाई की है और बीच में हम रेफरेंसेस लिखते हैं रेफरेंसेस का बेसिक मतलब यहां पे है कि यह वाली जो कॉलम है इस वाले कॉलम को रेफरेंस करता है यानी रेफर करता है इसकी बात करता है इसी से इसकी वैल्यूज डिफाइन होती है तो इस तरीके से हम अपनी फॉरेन की को डिक्लेयर कर सकते हैं तो अभी इतना ज्यादा डिटेल में इसके नहीं जाएंगे बाद में जाकर जब हम बड़ी टेबल्स की बात करेंगे तो वहां पर हम फॉरेन कीज को लिख कर देख रहे होंगे इसके अलावा एक और इंपॉर्टेंट कंस्ट्रेंट होता है डिफ़ॉल्ट का डिफ़ॉल्ट का काम होता है किसी भी कॉलम की डिफ़ॉल्ट वैल्यू को सेट करना लेट्स सपोज कि अगर कोई एंप्लॉयज नाम की अपने टेबल बनाई है उसके लिए हम एक सैलरी का कॉलम बना रहे हैं तो यह हमारी टेबल हो गई इस तरीके से और इस टेबल के अंदर हमने एक कॉलम बना दिया ये लेट्स सपोज हमारी आईडी हो गई और ये हमने सैलरी का कॉलम बना दिया अब सैलरी के अंदर हमें पता है हर किसी एंप्लॉई की अपनी सैलरी आएगी पर हम चाहते हैं किसी को अगर सैलरी ना पता हो तो बाय डिफॉल्ट 25000 उसकी सैलरी ऐड हो जाएगी तो अगर उन्होंने किसी ने 35000 लिख दी 40000 लिख दी 20000 लिख दी 15000 लिख दी उस केस में तो जो इंसर्ट की जा रही है वैल्यू वही आएगी बाकी केसेस में डिफॉल्ट वैल्यू यूज हो जाए तो डिफॉल्ट वैल्यू सेट करने के लिए हम लिख सकते हैं सैलरी फिर उसका टाइप और फिर लिख सकते हैं अपना कंस्ट्रेंट डिफॉल्ट एंड उसके बाद अपनी डिफॉल्ट वैल्यू कि ठीक है डिफॉल्ट वैल्यू तो सेट होगी पर कितनी वैल्यू सेट होगी उसको हम डिफाइन कर सकते हैं इसको एक बार चेक करके देखते हैं जैसे लेट्स सपोज यहां पर हम एक टेबल क्रिएट कर सकते हैं एक टेबल क्रिएट करते हैं एंप्लॉई नाम से एंप्लॉई के अंदर एक तो उसकी आईडी आ सकती है दूसरा हमारे पास उसकी सैलरी भी आ सकती है तो सैलरी भी इंटी जर टाइप की हो जाएगी परिया हम डिफॉल्ट कंस्ट्रेंट डिफाइन कर देंगे कि सैलरी 25000 हो जाए इतना लिखकर हम अपनी टेबल क्रिएट कर स तो हमारी टेबल सक्सेसफुली क्रिएट हो गई अब इसके अंदर वैल्यू इंसर्ट करते हैं तो इंसर्ट इनटू एंप्लॉई टेबल वैल्यूज हम क्या करेंगे सिर्फ अपनी इंटी जर आईडी को लिखेंगे तो यहां पर हम सिर्फ इंटी जर के अंदर आईडी डालना चाहते हैं तो आईडी हम रख देंगे 10 जैसे ही सिर्फ इतना लिखेंगे और इसे हम एंटर करेंगे य अपनी टेबल का नाम लिख देते हैं एंप्लॉय तो इसे कर लेते हैं एक बार एग्जीक्यूट एग्जीक्यूट करेंगे और अब अपनी टेबल को हम देखेंगे सिलेक्ट ऑल फ्रॉम एंप्लॉई तो एंप्लॉई टेबल के अंदर क्या हुआ आईडी आ गई यह हमारा आईडी कॉलम आ गया और बाय डिफॉल्ट सैलरी 25000 हो गई बाय डिफॉल्ट सैलरी 25000 क्यों हुई क्योंकि हमने अपना डिफॉल्ट कंस्ट्रेंट यहां पर क्या किया है डिफॉल्ट कंस्ट्रेंट 25000 को डिफाइन किया है कि जिस केस में सैलरी ना मिले उस केस में बाय डिफॉल्ट सैलरी को 25000 कर दो तो वो चीज़ हमारे पास यहां आ गई तो ये फायदा होता है हमारे पास डिफॉल्ट कंस्ट्रेंट का इसके अलावा एक और इंपॉर्टेंट कंस्ट्रेंट होता है हमारे पास चेक कंस्ट्रेंट चेक कंस्ट्रेंट से हम वैल्यूज के ऊपर लिमिट लगा सकते हैं जैसे चेक कंस्ट्रेंट क्या करता है वैल्यू ऐड करने से पहले चेक लगा देता है एक जैसे यहां पर हमने एक टेबल डिफाइन की सिटी नाम से अब सिटी के अंदर सिटी की जब टेबल बनेगी इस तरीके से तो सिटी के अंदर एक हमारे पास आईडी आ जाएगी आईडी के ऊपर हमने ऑलरेडी प्राइमरी की कंस्ट्रेंट लगाया हुआ है दूसरा हमारे पास सिटी का नाम आ जाएगा तो इसको सिटी कह देते हैं तीसरा हमारे पास कोई एज आ जाएगी इंटी जर एज अब ये रैंडम वैल्यूज है सिटी के अंदर एज क्यों आ रही है कोई लॉजिक नहीं है उसका बट बेसिकली रैंडम वैल्यूज है जो हम स्टोर करा रहे हैं तो कंस्ट्रेंट चेक लगाने के लिए हम लिख सकते हैं कंस्ट्रेंट कंस्ट्रेंट कीवर्ड उसके बाद लिखेंगे अपने कंस्ट्रेंट का नाम तो ये जो एज चेक है ये बस कंस्ट्रेंट का नाम है हम चाहे तो इसे स्किप भी कर सकते हैं हम चाहे तो इसे लिख भी सकते हैं यहां पर हम कुछ भी लिख सकते हैं तो कंस्ट्रेंट फिर कंस्ट्रेंट का नाम फिर लिख सकते हैं चेक और चेक के अंदर हम अपना कोई भी चेक लगा सकते हैं चेक मतलब कोई भी कंडीशन लगा सकते हैं मेरी कंडीशन यह है कि मेरी एज हमेशा 18 से बड़ी होनी चाहिए ग्रेटर दन इक्वल टू 18 एंड जो सिटी है उसके अंदर दिल्ली होना चाहिए तो ये मैंने क्या किया कंस्ट्रेंट लगा दिया यहां पर तो अब हम कोई भी ऐसी रो ऐड नहीं कर पाएंगे जिसमें एज 18 से बड़ी ना हो और जिसमें सिटी का नाम दिल्ली के अलावा कुछ भी हो तो ये एक चेक लग गया इसके अलावा एक और एग्जांपल हो सकता है कि साथ के साथ चेक लगाने के लिए जैसे एज कॉलम का नाम हो गया इंटी जर हो गया हम लिख सकते हैं सिंपली चेक एज ग्रेटर दन = 1880 तो ये भी हमारा एक चेक लगाने का तरीका है तो ये हमारे मोस्ट पॉपुलर सबसे कॉमनली यूज्ड कंस्ट्रेंट्स थे जिनको हम आगे यूज़ करने वाले हैं अभी इतना ज्यादा डिटेल में नहीं जाएंगे पर जैसे-जैसे हम नई टेबल्स को बनाकर देखेंगे वैसे हमें काफी सारे कंस्ट्रेंट्स दिखने वाले हैं नेक्स्ट कमांड पढ़ने से पहले हम अपना एक सैंपल डेटाबेस क्रिएट करने वाले हैं जिसके ऊपर हम अपनी डिफरेंट डिफरेंट क्वेरीज एंड कमांड्स को रन करेंगे तो सैंपल डेटाबेस में हम अपना कॉलेज का डेटाबेस क्रिएट करेंगे और इसके अंदर एक स्टूडेंट नाम की टेबल बनाएंगे जो हमारे रोल नंबर नेम मार्क्स ग्रेड एंड सिटी को स्टोर करती है और इसके अंदर ये सारी की सारी सैंपल वैल्यूज हम स्टोर कराने वाले हैं तो आज जा अपनी एल फाइल पर इसके अंदर हम क्रिएट करेंगे अपना डेटाबेस और इसको नाम दे देते हैं कॉलेज इसको कर लेते हैं एग्जीक्यूट यूज कॉलेज इसको भी कर लेते हैं एग्जीक्यूट एंड फाइनली हमारी सैंपल कमांड सबसे पहले अपनी टेबल को हम क्रिएट करते हैं एंड उसके बाद उस टेबल के अंदर हम अपने डाटा को इंसर्ट करने वाले हैं यहां रिफ्रेश करके देख भी लेते हैं हमारा कॉलेज डेटाबेस क्रिएट हो गया है उसके अंदर हमारी टेबल स्टूडेंट क्रिएट हो गई है अब हम बात करने वाले हैं अपनी नेक्स्ट कुछ कमांड्स के बारे में जिसमें से सबसे पहली और काफी इंपॉर्टेंट कमांड है हमारी सिलेक्ट अब सिलेक्ट को हम ऑलरेडी थोड़ा बहुत देख चुके हैं हम सेलेक्ट स्टार करते आए हैं फ्रॉम द टेबल अब सिलेक्ट को हम डिटेल में पढ़ेंगे सिलेक्ट का काम होता है कि डेटाबेस के अंदर से जब भी हमें किसी डाटा को सेलेक्ट करके देखना होता है तो उसके लिए हम अपनी सिलेक्ट कमांड को यूज करते हैं तो इसका बेसिक सिंटेक्स होता है कि हम लिखते हैं सिलेक्ट एंड उसके बाद जितने भी कॉलम्स का हमें डाटा चाहिए हम उन कॉलम्स के नाम लिखते हैं फिर हम लिखते हैं फ्रॉम और फिर अपनी टेबल का नाम तो एक बार अपनी इस टेबल के लिए बात करते हैं यह हमारी टेबल है जिसके अंदर रोल नंबर नेम मार्क्स ग्रेड सिटी वगैरह हमारे पास स्टोर्ड है तो लेट्स सिलेक्ट समथिंग फ्रॉम हियर सिलेक्ट करेंगे हम लेट्स सपोज हमें सारे स्टूडेंट्स के नाम देखने हैं और सारे स्टूडेंट्स के मार्क्स देखने हैं फ्रॉम कौन सी टेबल फ्रॉम आवर स्टूडेंट टेबल इतने पार्ट को कर लेते हैं हाईलाइट एंड रन तो ये हमारी टेबल आ गई टेबल के अंदर जो जो हमने दो कॉलम लिखे थे नेम एंड मार्क्स का तो हमारे पास नेम आ गए सारे के सारे एंड हमारे पास मार्क्स आ गए सारे के सारे तो इस तरीके से हमारी सिलेक्ट काम करती है हम चाहे तो मल्टीपल चीजें भी यहां पर लिख सकते हैं और हम चाहे तो यहां पर स्टार भी लिख सकते हैं तो स्टार जो होता है हमारा स्टार काम करता है सारे के सारे कॉलम्स को सेलेक्ट करने का तो सारे के सारे कॉलम्स के नाम लिखने की बजाय हमने क्या किया एक शॉर्ट फॉर्म डेवलप कर लिया कि जब भी स्टार लिखेंगे स्टार मतलब पूरे के पूरे सारे कॉलम्स का डाटा सिलेक्ट हो जाए तो अब इसको एक बार रन कर लेते हैं रन किया तो हमारी पूरी की पूरी टेबल हमारे पास आ गई रोल नंबर आ गए नेम आ गए मार्क्स आ गए ग्रेड आ गए इसको चाहे तो एक्सपेंड कर सकते हैं हमारे पास हमारे ग्रेड्स आ गए एंड हमारे पास हमारी सिटीज आ गई अब यहां एक और चीज हम कर सकते हैं लेट्स सपोज हमने लिखा सेलेक्ट सिटी फ्रॉम स्टूडेंट तो जब हम इसे एग्जीक्यूट करेंगे हमारे पास सारी की सारी सिटीज आ जाएंगी अब यहां पर हम एक और स्पेशल कीवर्ड को यूज कर सकते हैं व्हिच इज द डिस्टिंक्ट कीवर्ड अगर हम लिखते हैं सिलेक्ट डिस्टिंक्ट सिटी फ्रॉम स्टूडेंट डिस्टिंक्ट का मतलब होता है यूनिक यानी जो चीजें रिपीट कर रही होंगी डुप्लीकेट जो वैल्यूज होंगी वो नहीं दिखाई देंगी सारी की सारी यूनिक वैल्यू दिखाई देंगी तो उसकी मदद से हमारे पास यूनिक वैल्यूज आ जाती हैं तो इस बार सिटीज के अंदर सिर्फ पुणे मुंबई एंड दिल्ली आ रहा है चीजें रिपीट होकर नहीं आ रही तो जब भी हमें इस तरीके का डाटा चाहिए होता है जहां हमें रिपीटेशन नहीं चाहिए डुप्लीकेट वैल्यूज नहीं चाहिए वहां हम साथ में डिस्टिंक्ट कीवर्ड को भी यूज़ कर सकते हैं अब नेक्स्ट हम बात करने वाले हैं वेयर क्लॉज की जब भी हम सिलेक्ट को यूज करते हैं सिलेक्ट के साथ हम कई सारे क्लॉज यूज कर सकते हैं क्लॉज का मतलब होता है जैसे लीगल डॉक्यूमेंट अगर लॉयर्स से रिलेटेड चीजें अगर हमने सुनी होंगी तो उनके अंदर क्लॉज होते हैं क्लॉज यानी कंडीशन कि हमने कोई एक्स्ट्रा रूल लगा दिया कि ये चीज भी साथ के साथ होनी चाहिए ये एक्स्ट्रा कंडीशन भी फुलफिल होनी चाहिए तो ये काम होता है हमारे क्लॉसस का तो हमारे पास मल्टीपल क्लॉज होते हैं एसक्यूएल के अंदर जो सिलेक्ट स्टेटमेंट के साथ यूज होते हैं इनमें से एक क्लॉज होता है हमारा वेयर क्लॉज का वेयर क्लॉज का काम होता है टू डिफाइन सम कंडीशंस जैसे हम लिखते हैं सिलेक्ट सम कॉलम्स फ्रॉम टेबल तो इतना तो सेलेक्ट कर देता है पर उसके साथ लेट्स सपोज हमें कोई कंडीशन चाहिए कि हम बच्चों के मार्क्स देखना चाहते हैं पर हम सिर्फ उन्हीं बच्चों के मार्क्स देखना चाहते हैं जिनके मार्क्स 75 से ज्यादा हो जैसे यहां पर हमने एक एग्जांपल लिया है कि सिलेक्ट ऑल फ्रॉम स्टूडेंट वेयर मार्क्स ग्रेटर दन 80 कि उन्हीं बच्चों का डाटा दिखाना है जिनके मार्क्स 80 से ग्रेटर हैं अब ग्रेटर हमारा एक ऑपरेटर होता है मैथ्स का ऑपरेटर होता है ग्रेटर को हमने मैथ्स के अंदर लिखा हुआ है इक्वल टू को मैथ्स के अंदर खा हुआ है तो हम लिखते हैं वेयर एंड उसके बाद अपनी कुछ कंडीशन अप्लाई करते हैं जिस कंडीशन के बेसिस पर हमारा कुछ आउटपुट रिटर्न होकर आने वाला है तो एक बार इसे ट्राई करते हैं हम लिखेंगे यहां पर सिलेक्ट ऑल इस स्टार को हम ऑल प्रोनाउंस करने वाले हैं ऑल फ्रॉम हमारी स्टूडेंट टेबल वेयर हमारे जो मार्क्स हैं स्टूडेंट के मार्क्स ग्रेटर दन 80 होने चाहिए अब हम चाहे तो इस स्टेटमेंट को इस तरीके से लिख सकते हैं तो सिलेक्ट ऑल फ्रॉम स्टूडेंट वेयर मार्क्स ग्रेटर दन 80 इसको कर लेते हैं हाईलाइट एंड एग्जीक्यूट तो हमारे सारे के सारे स्टूडेंट्स आ गए और इन सारे के सारे स्टूडेंट्स के मार्क्स 80 प्लस हैं मतलब जितने भी स्टूडेंट्स चार स्टूडेंट्स प्रिंट हु हैं चारों के मार्क्स 80 प्लस है इवन दो हमारी टेबल के अंदर बहुत सारे स्टूडेंट्स थे पर ये 105 रोल नंबर वाला स्टूडेंट एंड यह 101 रोल नंबर वाला स्टूडेंट इनके मार्क्स प्रिंट नहीं हुए इनकी डिटेल्स प्रिंट नहीं हुई क्यों क्योंकि यह हमारी वेयर वाली कंडीशन को सेटिस्फाई नहीं करते ऐसे हम एक और कंडीशन लिख सकते हैं सिलेक्ट ऑल फ्रॉम स्टूडेंट वयर सिटी इक्वल टू मुंबई यानी जहां पर सिटी की वैल्यू मुंबई के इक्वल है वो सारे के सारे स्टूडेंट्स की डिटेल्स आ जाए तो यहीं पर चेंज कर लेते हैं लिख देते हैं सिटी इक्वल टू एंड फिर अपनी स्ट्रिंग मुंबई इतने पार्ट को करते हैं एग्जीक्यूट तो अब उन सारे स्टूडेंट्स की इंफॉर्मेशन आई जिनके लिए सिटी की वैल्यू मुंबई के इक्वल है एंड हम चाहे तो मल्टीपल कंडीशंस को भी साथ में क्लब करके लिख सकते हैं जैसे यहां पर हम लिख सकते हैं मार्क्स भी ग्रेटर दन 80 होने चाहिए एंड हमारी जो सिटी है वो भी मुंबई के इक्वल होनी चाहिए इसको एक बार एग्जीक्यूट करते हैं तो हमारे पास दो स्टूडेंट आए दोनों स्टूडेंट्स के मार्क्स भी ग्रेटर दन 80 है एंड दोनों स्टूडेंट्स की सिटी भी इक्वल टू मुंबई है अब जैसे हमने ये दो कंडीशंस को क्लब किया इस तरीके से क्लब करने के मतलब दो कंडीशंस को जोड़ने के कई सारे डिफरेंट तरीके होते हैं और यहां हम पढ़ने वाले हैं अपने ऑपरेटर्स के बारे में जब भी हम वेयर क्लॉज को यूज़ करते हैं तो तो वेयर क्लॉस के साथ बहुत सारे ऑपरेटर्स हैं जिनको हम यूज़ कर सकते हैं ऑपरेटर्स का मतलब क्या होता है हमने मैथ के अंदर पढ़ा होगा कि दो नंबर्स को ऐड करने के लिए हम प्लस को यूज़ करते हैं दो नंबर्स को मल्टीप्लाई करने के लिए हम इस साइन को लिख सकते हैं दो नंबर्स को डिवाइड करने के लिए हम डिवाइड का साइन लिखते हैं तो ये जो प्लस है ये जो मल्टीप्लाई है ये जो डिवाइड है ये सारे के सारे मैथ के अंदर हमारे ऑपरेटर्स होते हैं तो जो ऑपरेटर्स हमारे मैथ के अंदर होते हैं वैसे ही सिमिलर ऑपरेटर्स हमारे एसएल के अंदर यूज़ होते हैं और ये चार तरीके के ऑपरेटर्स होते हैं सबसे पहले ऑपरेटर्स होते हैं हमारे एरिथ मेे िक ऑपरेटर एरिथ मेे िक यानी जो मैथ के अंदर जनरली यूज़ होते हैं जैसे हमारा प्लस ऑपरेटर हो गया माइनस हो गया मल्टीप्लाई हो गया डिवाइड हो गया इसके साथ-साथ एक और होता है मॉड्यूस मॉड्यूस का काम होता है ये रिमाइंडर बताता है जैसे अगर मैंने लिख दिया 4 मॉड्यूस 2 तो इसकी जो वैल्यू आएगी वो वैल्यू आएगी ज़ीरो के इक्वल क्यों क्योंकि ये मुझे बता रहा है कि जब चार को दो से डिवाइड किया जाएगा तो यहां पर दो आ जाएगा -4 0 तो रिमाइंडर क्या आएगा रिमाइंडर आएगा ज़ीरो के इक्वल बेसिक बिल्कुल मैथ तो ये वाला जो ऑपरेटर होता है ये मैथ के अंदर नहीं होता पर ये कोडिंग के अंदर जनरली प्रोग्रामिंग लैंग्वेजेस के अंदर होता है और इसका काम होता है हमें रिमाइंडर देना इसको एक बार टेस्ट आउट कर सकते हैं इसके लिए लिख सकते हैं कि सारे के सारे उन स्टूडेंट्स के मार्क्स की वैल्यू लिखनी है जिनके मार्क्स प्लस 10 इज ग्रेटर दन 100 हो जाए मतलब यहां मैंने क्या लिख दिया कि मार्क्स + 10 मार्क्स के अंदर 10 नंबर और जोड़ देते तो वो 100 से ऊपर चली जाती वैल्यू उन सारे स्टूडेंट्स के मुझे मार्क्स चाहिए तो इसको एग्जीक्यूट कर सकते हैं तो बेसिकली ये दो स्टूडेंट्स हैं 93 + 10 103 हो जाएगा ग्रे द 100 96 + 10 106 हो जाएगा ग्रेटर द 100 तो उन सारे स्टूडेंट्स का इसने डाटा मुझे दे दिया तो यहां हमने कौन से ऑपरेटर को यूज़ किया आपने प्लस ऑपरेटर को वैसे ही हमारे पास कंपैरिजन ऑपरेटर्स भी होते हैं कंपैरिजन ऑपरेटर्स का काम होता है चीजें कंपेयर करना कि कौन सी चीज बड़ी है कौन सी चीज छोटी है इसमें सबसे पहला ऑपरेटर तो आता है इक्वल टू मैथ के अंदर जब मुझे चेक करना होता है a = b है क्या तो उसके लिए हम a = b लिखते हैं वैसे ही एसक्यूएल के अंदर भी हम a = b लिखते हैं जैसे अगर हम यहां पर लिख दें कि मार्क्स की वैल्यू जिसके मार्क्स की वैल्यू इक्वल टू 93 है बस उन्हीं की डिटेल्स मुझे चाहिए उन्हीं सारे स्टूडेंट्स की तो इसको चाहे तो एग्जीक्यूट कर सकते हैं तो क्या हुआ हमारे पास भूमिका के मार्क्स आ गए जिसके मार्क्स 93 के इक्वल ऐसे ही हमारे पास नॉट इक्वल टू होता है हमारे पास ग्रेटर होता है ग्रेटर दन इक्वल टू होता है लेस दन होता है लेस दन इक्वल टू होता है जैसे यहां पर हम लिख सकते हैं कि जिस स्टूडेंट के मार्क्स ग्रेटर दन 90 हैं उनकी इंफॉर्मेशन दे दो तो हमें पता है यहां से वो करेक्ट इंफॉर्मेशन हमारे पास आ जाएगी वैसे ही हमारे पास कुछ लॉजिकल ऑपरेटर्स भी होते हैं लॉजिकल ऑपरेटर्स में हमारा एंड आ जाता है ऑर आ जाता है नॉट आ जाता है इन बिटवीन ऑल लाइक एनी इस तरीके के काफी सारे ऑपरेटर्स आ जाते हैं इनको अभी हम थोड़ा सा डिटेल में देखेंगे और साथ के साथ हमारे बिट वाइज ऑपरेटर्स आते हैं जो बिट्स के पर काम करने में हमारी हेल्प करते हैं तो बाइनरी में अगर आपने प्रोग्रामिंग सीखी है तो हमने बिट वाइज ऑपरेटर्स को वहां पे पढ़ा होगा बाकी ये थोड़े से एडवांस्ड हो जाते हैं इनका इतना ज्यादा यूसेज नहीं होगा मोस्टली हम अपने कंपैरिजन लॉजिकल एंड एरिदमेटोसस के साथ काम करते हैं अब सबसे पहले कुछ-कुछ ऑपरेटर्स को जो इंपॉर्टेंट ऑपरेटर्स हैं उनको डिटेल में पढ़ लेते हैं सबसे पहला हमारा एंड ऑपरेटर एंड ऑपरेटर का काम होता है कि ये चेक करता है दोनों कंडीशन सच है क्या एंड यानी इसके जो लेफ्ट साइड में कंडीशन लिखी हुई है और जो राइट साइड में कंडीशन लिखी हुई है दोनों कंडीशन सच होनी चाहिए जैसे अगर हम यहां पर लिख दें मार्क्स ग्रेटर 90 एंड सिटी इक्वल टू मुंबई तो उस केस में दोनों की दोनों कंडीशन सच होनी चाहिए इतने वाले पार्ट को सिलेक्ट कर लेते हैं एंड इसे करते हैं हम एग्जीक्यूट तो यहां पर एक ही स्टूडेंट आया जिसके मार्क्स भी 90 से ऊपर है और जिसकी सिटी भी मुंबई है ऐसा नहीं है कि अगर किसी की सिटी मुंबई हो गई पर मार्क्स 90 से कम है तो वो प्रिंट हो जाएगा दोनों की दोनों कंडीशन सेटिस्फाई होनी चाहिए जब हम एंड को यूज करते हैं उसी तरीके से हमारा एक और ऑपरेटर होता है और का काम होता है दोनों में से कोई भी एक कंडीशन सेटिस्फाई हो जाए अगर दो दोनों में से एक ने भी ट्रू दे दिया एक भी कंडीशन सेटिस्फाई हो गई तो फिर हमारा डाटा आ जाएगा तो यहां पर हम सिंपली एंड की जगह अगर और लगा दें और इस स्टेटमेंट को एग्जीक्यूट करें तो उस केस में हमारे पास आएगा ये फर्स्ट तो भूमिका आ गया जिसमें मार्क्स भी ग्रेटर दन 90 है सिटी भी मुंबई है दूसरा आ गया हमारा चेतन जिसमें मार्क्स ग्रेटर दन 90 नहीं है पर सिटी मुंबई हो गई फिर आ गया ध्रुव जिसमें मार्क्स ग्रेटर दन 90 है पर सिटी दिल्ली हो गई तो इसने तो मार्क्स वाली कंडीशन को सेटिस्फाई किया सिटी वाली को नहीं किया इसने सिटी वाली कंडीशन को सेटिस्फाई किया मार्क्स वाली कंडीशन को नहीं किया और इस स्टूडेंट ने दोनों कंडीशन को कर दिया तो ऐसा कोई भी स्टूडेंट नहीं होगा जो किसी को भी ना करता हो पर हां कोई भी एक कंडीशन सेटिस्फाई हो गई तो फिर हमारा और जो है वो हमें रिजल्ट लाकर दे देता है इसके अलावा हमारे पास एक और ऑपरेटर होता है हमारा बिटवीन ऑपरेटर कभी भी अगर हमें किसी रेंज के बीच में डाटा को सेलेक्ट करना होता है कि हमारी कोई पर्टिकुलर वैल्यू किसी रेंज के बीच में होनी चाहिए तो हम बिटवीन को यूज़ करते हैं जैसे अगर हमें ऐसे स्टूडेंट्स का डाटा चाहिए जिनके मार्क्स 80 से 90 के बीच में है तो उसके लिए हम यूज़ कर सकते हैं सिलेक्ट ऑल फ्रॉम स्टूडेंट वेयर मार्क्स बिटवीन 80 एंड 90 और इसमें जो 0 80 एंड ये जो 90 है दोनों इंक्लूसिव है इंक्लूसिव मतलब किसी के मार्क्स अगर 80 होंगे या किसी के मार्क्स अगर 90 होंगे तो उनकी भी डाटा या उनकी भी वैल्यू हमारे पास आएगी तो यहां पर लिख सकते हैं कि मार्क्स इतने पार्ट को हटा लेते हैं बिटवीन 80 एंड 90 तो इसे कर लेते हैं सिलेक्ट एग्जीक्यूट तो ये दो स्टूडेंट्स आ गए एक के मार्क्स है 85 दूसरे के मार्क्स है हमारे पास 82 तो इस तरीके से हमारा बिटवीन जो है वो काम करता है इसके साथ-साथ हमारे पास एक इन ऑपरेटर भी होता है इन ऑपरेटर का काम होता है कि अगर इन ऑपरेटर के बाद हम कोई भी लिस्ट दे द एक वैल्यूज की पूरी लिस्ट दे दी जैसे लेट्स सपोज यहां हमने एक लिस्ट दे दी जिसमें दो सिटीज लिखी हुई हैं दिल्ली और मुंबई इस तरीके से 10 सिटीज भी हम लिख सकते हैं 20 सिटीज भी हम लिख सकते हैं तो इन ऑपरेटर क्या करता है वो मैच करता है जैसे अगर हमने लिख दिया सिलेक्ट ऑल फ्रॉम स्टूडेंट वेयर सिटी इन दिल्ली एंड मुंबई तो अगर सिटी की वैल्यू इस लिस्ट में से गिवन किसी भी एक वैल्यू के बराबर होगी तो फिर हमारे पास डेटा आ जाएगा तो हमारे पास उन सारे स्टूडेंट्स का डेटा आ जाएगा जिनकी सिटी या तो दिल्ली है या फिर मुंबई है अभी तो वैसे हम छह ही स्टूडेंट्स के डेटाबेस पर काम कर रहे हैं और जब भी डेटाबेस होता है कॉलेज के अंदर तो हजारों स्टूडेंट्स हो सकते हैं तो यहां पर हो सकता है कि 10000 स्टूडेंट्स का डेटाबेस हो पूरा तो उसमें हमें सिर्फ आसपास वाली तीन सिटीज का ही डाटा चाहिए तो उस केस में हम इन को यूज कर सकते हैं अपनी एसक्यूएल क्वेरी के लिए तो यहां पर लिख सकते हैं वेयर सिटी इन एंड यहां पर हम अपनी लिस्ट दे सकते हैं प्रॉपर जिसमें हम दिल्ली लिख देंगे जिसमें हम मुंबई लिख देंगे तो इन सिटीज के अंदर है और हम ऐसी सिटी भी लिख सकते हैं जो हमारे डेटाबेस के अंदर है ही नहीं तो लेट्स सपोज हमने यहां पर लिख दिया है गुड़गांव तो ऐसी सिटी हमने लिख दिया जो डेटाबेस में है ही नहीं इसको कर लेते हैं सिलेक्ट एग्जीक्यूट तो यहां पर ये सारे के सारे स्टूडेंट्स हमारे पास आ गए तो अगर हमने ऐसी भी चीज लिख दिया लिस्ट के अंदर जो हो सकता है डेटाबेस में ना हो तो भी कोई एरर नहीं आएगा वो सिंपली चेक करेगा कि यहां से कोई चीज है क्या अगर हमने कोई ऐसी चीज लिख दी लेट्स सपोज हमने यहां पर लिख दिया फरीदाबाद तो ये दोनों की दोनों सिटीज हमारे नहीं है डेटाबेस के अंदर तो इस केस में हमारे पास खाली टेबल प्रिंट होगी मतलब कुछ भी नहीं आएगा सिर्फ नल वैल्यूज आएंगी क्योंकि कोई ऐसा स्टूडेंट है ही नहीं जो फरीदाबाद या गुड़गांव में रहता हो तो इस तरीके से इन काम करता है और वहीं हमारे पास एक और इंटरेस्टिंग ऑपरेटर आता है नॉट नॉट क्या करता है नेगेट कर देता है गिवन कंडीशन को जो भी कंडीशन दी जाती है उसका नेगेटिव निकालता है अगर हम इन चेक करेंगे उसके आगे नॉट लगा देंगे तो वो ऑपोजिट चेक करेगा मतलब वो ऐसे स्टूडेंट का डाटा निकालेगा जो इन सिटीज के अंदर नहीं है तो जब भी कंडीशन को रिवर्स करना होता है तो हम वहां पर नॉट लगा देते हैं जैसे यहां पर हम लगा आ सकते हैं कंट्रोल जड कर लेते हैं ज्यादा ही कंट्रोल जड कर दिया यहां दिल्ली लिख लेते हैं एंड यहां पर हम लिख लेते हैं मुंबई एंड यहां पर हम लगा देते हैं नॉट इन तो नॉट की मदद से वो सारे स्टूडेंट आएंगे जो इन सिटीज के अंदर नहीं रहते जैसे एक स्टूडेंट आया जो कहां रहता है पुणे में रहता है मुंबई और दिल्ली के अंदर नहीं रहता तो इस तरीके से नॉट काम करता है तो ये हमारे मोस्ट कॉमनली यूज्ड ऑपरेटर्स हैं जिनको हम अपने वेयर क्लॉज के साथ यूज करते हैं अब नेक्स्ट हम बात करने वाले एक और इंटरेस्टिंग क्लॉज के बारे में जो है हमारा लिमिट क्लॉज लिमिट क्या करता है जहां भी हमने ने लिमिट लिख दिया वो क्या करेगा हमारे नंबर ऑफ रोज पर लिमिट लगा देगा जैसे हमें अपने डेटाबेस के अंदर सिर्फ पांच ही स्टूडेंट्स का डाटा चाहिए या सिर्फ दो ही स्टूडेंट्स का डाटा चाहिए तो क्या करेगा लिमिट लगा देगा वहां पर तो अगर मैंने लिख दिया सिलेक्ट ऑल फ्रॉम स्टूडेंट लिमिट थ्री तो मेरे पास तीन ही स्टूडेंट्स का डटा आएगा तो हम सिंपली अपनी सिलेक्ट स्टेटमेंट लिखते हैं उसके बाद अपने लिमिट क्लॉज को यूज करते हैं तो हम लिमिट लिखते हैं और फिर कोई भी नंबर हम डिफाइन कर सकते हैं जैसे यहां पर हम लिख सकते हैं सिलेक्ट ऑल फ्रॉम स्टूडेंट और यहां अपना लिमिट क्लॉज लगा लेते हैं लिमिट और और यहां लिख देते हैं कि हमें तीन ही स्टूडेंट्स का डाटा चाहिए इसको करते हैं सिलेक्ट एग्जीक्यूट तो शुरुआत के जो तीन स्टूडेंट्स हुए 101 102 103 उन तीनों स्टूडेंट्स का डाटा हमारे पास आ गया हम चाहे तो लिमिट पर भी कंडीशन लगा सकते हैं जैसे हम यहां लिख सकते हैं वेयर लेट्स मेक इट मार्क्स ग्रेटर दन 75 तो ये क्या हुआ हम सारे के सारे स्टूडेंट्स का डाटा सिलेक्ट कर रहे हैं उनमें से वो शॉर्ट लिस्ट कर रहे हैं जिनके मार्क्स ग्रेटर दन 75 है तो इतने से तो हमारे पास सारे स्टूडेंट्स आ जाएंगे जिनके मार्क्स ग्रेटर दन 75 है लेकिन हमें ऐसे तीन ही स्टूडेंट चाहिए तो यहां हमने तीन की लि लगा दी तो इस पूरी की पूरी कंबाइंड स्टेटमेंट को एग्जीक्यूट करेंगे तो हमारे पास तीन स्टूडेंट्स आ गए जिनके मार्क्स ग्रेटर दन 75 है लेकिन अगर हमने लिमिट नहीं लगाई होती तो हो सकता है हमारे पास बहुत सारे स्टूडेंट आ जाते इसको करते हैं एग्जीक्यूट तो इस केस में हमारे पास तीन पांच स्टूडेंट्स आ गए हैं तो इस तरीके से हमारी जो लिमिट है वो अपने वेयर क्लॉज के साथ भी यूज हो सकती है इनफैक्ट जितने भी क्लॉज हम पढ़ेंगे वो सारे के सारे कंबाइन करके हम सिंगल स्टेटमेंट के अंदर भी यूज़ कर सकते हैं अब नेक्स्ट जिस क्लॉज की हम बात करेंगे ये है हमारा ऑर्डर बाय क्लॉज कभी-कभी हमारे साथ ऐसा होता है कि हमें डाटा या तो असेंडिंग ऑर्डर में चाहिए होता है सेंडिंग ऑर्डर में जैसे हमारे पास काफी सारे नंबर्स हैं तो हमें 1 2 3 4 5 इस तरीके से बढ़ते हुए ऑर्डर में डाटा चाहिए या हमें 5 4 3 2 1 इस तरीके से घटते हुए ऑर्डर में डटा चाहिए तो बढ़ते हुए ऑर्डर को हम असेंडिंग कहते हैं और घटते हुए ऑर्डर को हम डिसेंडिंग कहते हैं डिसेंडिंग तो इन्हीं के शुरुआत के हम कुछ लेटर्स उठा लेते हैं उसके हिसाब से हम अपने डाटा को ऑर्डर कर सकते हैं ऑर्डर करनी है यानी किसी भी असेंडिंग या डिसेंडिंग फैशन में उस डेटा को अरेंज करना जैसे लेट्स सपोज हमें अपने स्टूडेंट्स का डटा चाहिए पर हम आते हैं सिटी के हिसाब से वो असेंडिंग ऑर्डर में आए कि जो सिटी ए से शुरू होती है वो पहले आए जो बी से शुरू होती है वो बाद में आए जो सी से शुरू होती है वो उसके बाद आए तो इस तरीके से असेंडिंग ऑर्डर में डाटा चाहिए तो उसके लिए हम लिख सकते हैं सिलेक्ट ऑल फ्रॉम स्टूडेंट एंड यहां लिख सकते हैं हम ऑर्डर बाय मतलब ऑर्डर क्या होना चाहिए सिटी के हिसाब से हमारे पास असेंडिंग ऑर्डर होना चाहिए तो उसमें दिल्ली सबसे पहले आएगा फिर हमारा मुंबई आएगा फिर हमारा पुणे आएगा इसको सेलेक्ट करके रन करते हैं तो पहले हमारे सारे के सारे दिल्ली के स्टूडेंट्स आ गए फिर मुंबई के स्टूडेंट्स आ गए फिर हमारे पुणे स्टूडेंट्स आ गए हम चाहे तो मार्क्स के बेसिस पर भी असेंडिंग ऑर्डर लगा सकते हैं जैसे मार्क्स के बेसिस पर लगाया इसे सेलेक्ट कर लेते हैं तो इंक्रीज होते हुए फैशन में सारे के सारे हमारे पास मार्क्स आ गए तो ये हमारे बढ़ते हुए मार्क्स हैं अब लेट्स सपोज हमें क्लास के टॉप थ्री स्टूडेंट्स का डाटा चाहिए उसके लिए हम क्या कर सकते हैं हम सारे के सारे स्टूडेंट्स को सेलेक्ट कर लेंगे और हमें नहीं पता कि मैक्सिमम मार्क्स 75 आए या 85 आए हैं 95 आए हैं हमें कोई आइडिया नहीं है तो सबसे पहले तो हम डटा को अरेंज कर लेंगे इन डिक्रीजिंग ऑर्डर कि हमारे पास घटते हुए फैशन में मार्क्स आ जाए कि सबसे ज्यादा मार्क्स सबसे ऊपर दिखाई दें तो ये हमने कर लिया तो सबसे ज्यादा मार्क्स ऊपर आ गए फिर नीचे नीचे नीचे नीचे आते चले आए अब हम क्या करेंगे इसी के ऊपर हम लिमिट लगा सकते हैं यहां पर हमने एक लिमिट लगा दी कि हमें सिर्फ टॉप थ्री स्टूडेंट्स के ही मार्क्स चाहिए तो क्योंकि ऊपर घटते हुए फैशन में हमारे पास मार्क्स आए हैं तो हम टॉप के तीन उठा लेंगे तो हमारे पास टॉप तीन स्टूडेंट्स के मार्क्स आ जाएंगे इसको एग्जीक्यूट कर लेते हैं तो ये क्या हुआ क्लास के टॉप तीन स्टूडेंट्स के हमारे पास मार्क्स आ गए ध्रुव भूमिका एंड चेतन के मार्क्स तो इस तरीके से हम मल्टीपल क्लॉसस को अरेंज करते हैं और रियल लाइफ जो सिचुएशंस हो सकती हैं जैसे यह हो सकता है कि कॉलेज जो होता है कई बार स्कॉलरशिप देता है कई बार कुछ और प्राइज वगैरह ऑफर करता है तो अगर डेटाबेस के अंदर डेटा स्टोर्ड है स्टूडेंट्स का तो कॉलेज को नहीं पता कि स्टूडेंट के कितने मार्क्स आए हैं पर हां वहां से मैक्सिमम जिन स्टूडेंट्स के मार्क्स आए हैं उनमें से टॉप थ्री या टॉप फाइव या टॉप 10 स्टूडेंट्स निकालना बहुत आसान होता है यूजिंग एसक्यूएल अब नेक्स्ट हम बात करने वाले हैं अपने एग्रीगेट फंक्शंस के बारे में अब फंक्शंस ऐसी टर्म है जो हमें एसक्यूएल के अंदर भी देखने को मिलेगी अगर आप दूसरी तरीके की कोडिंग करेंगे जैसे स c+ प जावा के अंदर हो गया पाइथन के अंदर हो गया तो वहां भी फंक्शंस देखने को मिलते हैं फंक्शंस का बेसिक काम होता है कि इनके अंदर फंक्शन को हम एक बॉक्स की तरह समझ सकते हैं जिसके अंदर कोई लॉजिक लिखा होता है और हम फंक्शंस को कहते हैं कुछ काम करो और फिर वो हमें उस काम का कुछ आउटपुट लाकर दे देते हैं तो हमारे फंक्शंस एक मैजिक बॉक्स की तरह होते हैं या इसे हम बटन की तरह समझ सकते हैं जैसे हमारे घर के ऊपर घर के अंदर बटन होते हैं बहुत सारे किसी बटन को दबाने से लाइटें चल जाती है किसी बटन को दबाने से हमारा पंखा चलने लग जाता है किसी बटन को दबाने से हमारा कूलर चलने लग जाता है तो हर बटन का एक स्पेसिफिक काम है जब भी आप उस बटन को दबाए कूलर ही चलेगा ऐसा नहीं है कि आज उस बटन को प्रेस कर रहे हैं तो हमारी लाइट जल रही है कल प्रेस कर रहे हैं तो पंखा चल रहा है अनलेस एंड अंट्सल वायरिंग ही चेंज कर दी तो वैसे ही एसक्यूएल के अंदर हमारे पास एग्रीगेट फंक्शंस होते हैं जिनका एक ही काम होता है उनका काम फिक्स होता है उनके नाम के हिसाब से अब एग्रीगेट फंक्शंस ऐसे फंक्शंस होते हैं जो किसी कैलकुलेशन को परफॉर्म करते हैं यहां पे एग्रीगेट होना चाहिए एग्रीगेट कहने का बेसिक मतलब है किसी चीज को इकट्ठा करना तो एग्रीगेट फंक्शन बहुत सारी वैल्यूज को लेते हैं और एक सिंगल वैल्यू को रिटर्न करते हैं जैसे एक हमारा एग्रीगेट फंक्शन हो सकता है काउंट काउंट क्या काम करता है ये काउंट करने का काम करता है इसको हम बहुत सारी वैल्यूज दे देंगे लेट्स सपोज इसको हमने तीन नाम दे दिए हमने अमन दे दिया हमने श्रद्धा दे दिया हमने राहुल दे दिया इस तरीके से हमने तीन नाम दे दिए तो काउंट फंक्शन क्या करेगा तीनों का काउंट बता देगा कि उसे कितने नाम मिले तो काउंट फंक्शन हमें बताएगा कि उसे तीन नाम मिले ऐसे ही मैक्सिमम फंक्शन को अगर हम बहुत सारी वैल्यूज दे देंगे तो मैक्स फंक्शन हमें बताएगा कि उन वैल्यूज में से मैक्सिमम वैल्यू क्या है ऐसे ही हमारा मिन फंक्शन होता है सम फंक्शन सारी वैल्यूज का सम बताता है एजी यानी एवरेज फंक्शन सारी वैल्यूज की एवरेज बताता है तो वैसे तो एग्रीगेट फंक्शन बहुत सारे होते हैं पर ये सबसे ज्यादा पॉपुलर ली यूज्ड हमारे एग्रीगेट फंक्शंस हैं अब एग्रीगेट फंक्शंस को हम यूज़ कैसे करते हैं कई तरीके होते हैं यूज़ करने के जिसमें से एक सबसे सिंपल तरीका होता है सिलेक्ट स्टेटमेंट के साथ जैसे अगर हमें सारे के सारे स्टूडेंट्स में से मैक्सिमम मार्क्स निकालने हो तो उसके लिए हम क्या लिख सकते हैं सबसे पहले तो सारे के सारे स्टूडेंट्स के हम मार्क्स निकाल सकते हैं लेट्स सपोज हमने लिख दिया सिलेक्ट मार्क्स फ्रॉम स्टूडेंट इतने पार्ट को अगर हम सिलेक्ट करके एग्जीक्यूट करेंगे तो उसे सारे के सारे स्टूडेंट्स के मार्क्स आ जाएंगे पर हमें तो मैक्सिमम मार्क्स चाहिए तो उसके लिए हम अपना एग्रीगेट फंक्शन यूज कर सकते हैं हमें जिस भी कॉलम का मैक्सिमम चाहिए उस कॉलम के आगे हम अपना फंक्शन लगा देते हैं तो हमें मार्क्स का मैक्सिमम चाहिए तो हम यहां लगा सकते हैं मैक्स और मैक्स के अंदर पैरेंस यूज़ कर लेंगे यानी इस तरीके के हमारे ब्रैकेट्स और इन ब्रैकेट्स के अंदर पैरेंस के अंदर हम मार्क्स लिख देंगे अब यह क्या करेगा क्योंकि एग्रीगेट फंक्शन सिंगल वैल्यू रिटर्न करता है यानी a की वैल्यू रिटर्न करता है तो पहले तो हमें लिस्ट आई थी सारे के सारे मार्क्स की मिली थी अब हमें a की वैल्यू मिलेगी जो मैक्सिमम मार्क्स होंगे इसको एग्जीक्यूट कर लेते हैं और इसने हमें बता दिया कि हमारी टेबल के अंदर जो हमारे मैक्सिमम मार्क्स हैं दैट इज़ इक्वल ट 96 इसी तरीके से हम अपने मिनिमम मार्क्स भी निकाल सकते हैं तो मिनिमम मार्क्स आ जाएंगे हमारे पास ये हमारे पास आ गए मिनिमम मार्क्स इक्वल टू 12 उसी तरीके से हम चाहे तो सारे के सारे मार्क्स का एवरेज भी निकाल सकते हैं कि हमारी क्लास का क्या एवरेज रहा इस साल ये हमने एग्जीक्यूट किया तो क्लास का जो एवरेज था दैट वाज इक्वल टू 74.2 तो इस तरीके से क्लास का एवरेज आ गया हमारे पास और हम चाहे तो लेट्स सपोज हमें सारे के सारे स्टूडेंट्स का काउंट चाहिए कि कितने स्टूडेंट्स हैं हमारे पास तो हम यहां लिख सकते हैं काउंट ऑफ नेम कि जितने भी हमारे पास नेम्स है या फिर जितने भी हमारे पास रोल नंबर उनका काउंट निकाल लो कितने रोल नंबर्स हैं तोय एग्जीक्यूट किया तो आ गया कि हमारे पास क्लास के अंदर छह स्टूडेंट हैं क्योंकि हमारे पास छह डिस्टिंक्ट रोल नंबर्स अवेलेबल है क्लास में अब नेक्स्ट हम एक और क्लॉज के बारे में बात करने वाले हैं जो है हमारा ग्रुप बाय क्लॉज तो अभी तक हमने वेयर देख लिया हमने ऑर्डर बाय देख लिया हमने लिमिट क्लॉज देख लिया एक और काफी फेमस क्लॉज होता है हमारा ग्रुप बाय क्लॉज ग्रुप बाय क्लॉज का काम होता है चीजों को ग्रुप करके निकालना अगर हमें ग्रुप में किसी झुंड में इकट्ठा चीजें चाहिए तो उसके लिए हम इस क्लॉज को यूज करते हैं ये क्या करता है ये हमारी रोज को ग्रुप कर देता है ऐसी रोज जिनके ऊपर कुछ सेम वैल्यू एजिस्ट करती हो जैसे लेट्स सपोज हमारा एक एग्जांपल हो सकता है कि हमारी सारी की सारी सिटीज के अंदर कितने स्टूडेंट हैं उसका काउंट चाहिए तो उसके लिए हम ग्रुप बाय क्लॉज को यूज करेंगे और हम किसके बेसिस पर ग्रुप करेंगे हम अपनी सिटीज के बेसिस पर ग्रुप करेंगे बेसिकली ग्रुप बाय क्लॉज कहता है कि अगर जब भी आपको ग्रुप बनाने हो जैसे इस केस में हमें ग्रुप बनाने कि हर सिटी में से स्टूडेंट्स के मार्क्स चाहिए हमें तो हम क्या करेंगे पहली सिटी का ग्रुप बनाएंगे कि पुणे तो पुणे के अंदर जितने भी बच्चे हैं उनके मार्क्स आ जाए फिर हम दिल्ली सिटी के हिसाब से अपना ग्रुप बना सकते हैं फिर हम मुंबई सिटी के हिसाब से अपना ग्रुप बना सकते हैं तो इस तरीके से हम ग्रुप्स बनाएंगे फिर इन ग्रुप्स के ऊपर इंडिविजुअली हम कुछ-कुछ ऑपरेशन परफॉर्म करेंगे तो ये क्या करता है इट कलेक्ट्स डाटा फ्रॉम मल्टीपल रिकॉर्ड्स एंड ग्रुप्स द रिजल्ट बाय वन र मोर कॉलम यानी जिस भी कॉलम के हिसाब से हमें ग्रुप बनाना है यहां पर कौन से कॉलम के हिसाब से ग्रुप बनेगा यहां पर हमारे सिटी वाले कॉलम के हिसाब से ग्रुप बनेगा और तीन ग्रुप बनेंगे तो कई बार हो सकता है हमें सिटी और कंट्री के हिसाब से ग्रुप बनाना हो या सिटी और मार्क्स के हिसाब से ग्रुप बनाना हो बट जनरली हम एक ही कॉलम के हिसाब से ग्रुप बनाते हैं तो एक कॉलम के हिसाब से जब हमने ग्रुप बना लिया तो हमारे पास मल्टीपल समरी ग्रुप्स आ गए यानी इसमें सारे के सारे पुणे के बच्चे इसमें सारे के सारे दिल्ली के बच्चे इसमें सारे के सारे मुंबई के बच्चे पर जब भी ग्रुप बाय क्लॉज को हम यूज़ करते हैं जनरली वहां पर साथ में हम एग्रीगेट फंक्शंस को भी यूज़ करते हैं जो एग्रीगेट फंक्शन हमने ऑलरेडी पढ़े जैसे अगर हमें सारे की सारी सिटीज के अंदर कितने स्टूडेंट्स हमारे पढ़ रहे हैं उसका काउंट निकालना है तो उसके लिए हम अपना काउंट वाला एग्रीगेट फंक्शन भी यूज़ करेंगे और हम अपना ग्रुप बाय क्लॉज भी यूज़ करेंगे तो ये इंफॉर्मेशन निकालने के लिए हम लिख सकते हैं सिलेक्ट सिटी एंड काउंट ऑफ नेम फ्रॉम स्टूडेंट ग्रुप बाय सिटी तो इस स्टेटमेंट को एक बार धीरे-धीरे समझते हैं कि ग्रुप बाय काम कैसे करता है हम लिख सकते हैं इसे हटा लेते हैं सबसे पहले तो हम लिख देंगे सिलेक्ट सिटी फ्रॉम स्टूडेंट ग्रुप बाय एंड यहां पर लिख देते हैं सिटी तो इतनी स्टेटमेंट हमने लिखी इस स्टेटमेंट को सिलेक्ट करके जब हम एग्जीक्यूट करेंगे तो हमारे पास तीन सिटीज आ जाएंगी कि एक हमारा ग्रुप बन गया पुणे का एक हमारा ग्रुप बन गया मुंबई का एक हमारा ग्रुप बन गया दिल्ली का तो तीन सिटीज हैं तो हमने सारी की सारी सिटीज सेलेक्ट कर ली और हमने उन्हें ग्रुप कर दिया बेस्ड ऑन देर सिटी वैल्यू अब इसके साथ में हर सिटी के अंदर अगर हमें काउंट चाहिए कि कितने स्टूडेंट्स पढ़ रहे हैं तो या तो हम रोल नंबर का काउंट ले सकते हैं या नेम का काउंट ले सकते हैं दोनों ही वैलिड है तो हम क्या करेंगे हर सिटी के अंदर कितने स्टूडेंट्स पढ़ रहे हैं उसका हमें काउंट चाहिए तो वो हमारे पास आएगा इसे हम एग्जीक्यूट कर लेते हैं तो ये हमारे पास एक कॉलम बन गया सिटी का जिसमें सारी की सारी सिटीज आ रही है दूसरा कॉलम बन गया काउंट ऑफ रोल नंबर का कि हमारी जो दिल्ली सिटी है उसके अंदर तीन स्टूडेंट्स हैं हमारी जो मुंबई सिटी है उसके अंदर दो स्टूडेंट्स हैं और हमारी जो पुणे सिटी है उसके अंदर एक स्टूडेंट है तो यहां पर एगजैक्टली हुआ क्या यहां पर ग्रुप बाय ने सिटीज के बेसिस पर ग्रुप बनाया तो हमने जो सिटीज का कॉलम सेलेक्ट किया था उन्हीं से हम ग्रुप बना सकते हैं और वहां हमने काउंट ले लिया अपने सारे के सारे रोल नंबर्स का जो उस सिटी के अंदर अवेलेबल थे अब यहां एक और स्पेशल चीज़ होती है ग्रुप बा में कि जितने भी कॉलम्स हम यहां पर लिखते हैं नॉर्मल कॉलम्स जिनके ऊपर हमने एग्रीगेट फंक्शन अप्लाई नहीं किया एटलीस्ट उतने ही कॉलम्स के बेसिस पर हमें ग्रुप बाय के अंदर चीजें लिखनी होती है जैसे यहां पर अगर हमने सिटी एंड नेम लिखा होता तो हमारे पास यहां पर एरर आ जाता एरर इसलिए आता क्योंकि यहां पर ये जो नेम है इसे हमने ग्रुप बाय के अंदर यूज़ नहीं किया तो ये हमारे पास एरर आ गया एरर का कोड है 1055 आप चाहे तो कभी भी अगर एसक्यूएल के अंदर एरर आता है तो हम सीधा सर्च कर सकते हैं माय एएल एरर कोड 1055 तो उस एरर का पूरा डिस्क्रिप्शन हमारे पास google2 फंक्शन के जितने भी कॉलम्स हमने सिलेक्ट किए हैं हमें उन सारे कॉलम्स के बेसिस पर ग्रुप बनाना होता है तो अगर हम सिटी के बेसिस पर ग्रुप बना रहे हैं तो हम सिर्फ सिटी को ही सिलेक्ट कर सकते हैं अपने ग्रुप के लिए और फिर उसके बेसिस पर हमें ग्रुप बनाना ही बनाना पड़ेगा पर अगर लेट्स सपोज यहां हमने नेम लिखा है तो हम यहां पर सिटी एंड नेम दोनों लिख सकते थे इसको कर सकते थे सिलेक्ट एंड एग्जीक्यूट तो इस बार क्या हुआ सिटी एंड नाम दोनों के बेसिस पर ग्रुप बना तो एक हमारा ग्रुप बना जिसमें पुणे और अनिल दोनों हैं तो उसमें एक ही स्टूडेंट है फिर मुंबई और भूमिका उसमें भी एक ही स्टूडेंट है फिर मुंबई और चेतन है उसमें भी एक ही स्टूडेंट है पर यहां पर अगर ऐसा होता कि मुंबई सिटी के अंदर दो चेतन होते अगर हमारे पास दो स्टूडेंट्स होते जिन दोनों का नाम चेतन होता तो उस केस में क्या होता उस केस में रोल नंबर का काउंट टू आता हमारे पास क्योंकि वो एक यूनिक चीज नहीं रहती फिर डुप्लीकेट हो जाता तो यहां जितने भी सिटी एंड नेम यूनिक है उनके बेसिस पर हमारा ग्रुप फॉर्म होगा तो ग्रुप बाय थोड़ा सा डिफिकल्ट लग सकता है सीखने में पर इतना डिफिकल्ट है नहीं बेसिकली जब भी किसी भी चीज के बेसिस पर हमें ग्रुप करना होता है तो हम उसका नाम लिखते हैं और फिर उसे ग्रुप बाय कर देते हैं और अगर इन ग्रुप्स के अंदर हमें कोई इंफॉर्मेशन निकालनी है जैसे लेट्स सपोज सारी सिटीज के अंदर हम अपना मैक्सिमम निकाल निकालना चाहते हैं या हम अपना एवरेज निकालना चाहते हैं लेट्स सपोज हम एवरेज निकालना चाहते हैं सारे के सारे स्टूडेंट्स के मार्क्स का कि पुणे के अंदर स्टूडेंट्स के क्या एवरेज मार्क्स रहे दिल्ली के अंदर स्टूडेंट्स के क्या एवरेज मार्क्स रहे या मुंबई के अंदर स्टूडेंट्स के क्या एवरेज मार्क्स रहे तो वो हमारे पास आ जाएंगे एग्जीक्यूट किया तो पुणे के अंदर स्टूडेंट्स के एवरेज मार्क्स 78 थे मुंबई के अंदर 89 थे दिल्ली के अंदर 63.3 रहे तो सारी की सारी सिटीज के एवरेज मार्क्स हमारे पास आ गए तो इस तरीके से हमारा ग्रुप बाय काम करता है अब हम क्या करेंगे एक प्रैक्टिस क्वेश्चन हम सॉल्व करने वाले हैं राइट द क्वेरी टू फाइंड द एवरेज मार्क्स इन ईच सिटी इन असेंडिंग ऑर्डर तो इनमें से एक पार्ट तो हमने ऑलरेडी कर लिया एवरेज मार्क्स इन ईच सिटी इसके लिए हमने क्या किया था इसके लिए हमने लिखा था सिलेक्ट और फिर हम लिख सकते हैं अपनी सिटी फ्रॉम अपनी स्टूडेंट टेबल एंड यहां हम लिख सकते हैं ग्रुप बाय और फिर अपनी सिटी इसके बेसिस पर हमारी सिटी का पूरा का पूरा जो डेटा अरेंज होकर आ जाएगा कि हमारे पास पुणे आ जाएगी हमारे पास मुंबई सिटी का डाटा आ जाएगा हमारे पास दिल्ली का डेटा आ जाएगा अब हम चाहते हैं कि हमें एवरेज मार्क्स भी चाहिए तो हम सीधा लिख सकते हैं एवरेज ऑफ मार्क्स तो हमारे पास सारे के सारे एवरेज मार्क्स आ जाएंगे इट्स के बेसिस पर पर हमें चाहिए ये मार्क्स जो है असेंडिंग ऑर्डर के अंदर अरेंज्ड हो तो लास्ट में हम एक ऑर्डर बाय का क्लॉज भी लगा सकते हैं कि ऑर्डर बाय अगर हमें सिटी के बेसिस पर असेंडिंग ऑर्डर में चाहिए तो हम वो कर सकते हैं तो यहां पर लिखते हैं सिटी एवरेज मार्क्स फ्रॉम स्टूडेंट ग्रुप बाय सिटी और यहां हम लिख सकते हैं ऑर्डर बाय भी सिटी तो सिटी के बेसिस पर असेंडिंग ऑर्डर में मार्क्स अरेंज हो गर आ जाएंगे तो ये हमारी फर्स्ट सिटी है दिल्ली जिसके ये एवरेज मार्क्स हैं फिर मुंबई आ गई जिसके ये एवरेज मार्क्स है फिर पुणे आ गई जिसके ये एवरेज मार्क्स हैं अब हम चाहे तो इसे मार्क्स के बेसिस पर भी तो अब क्या हुआ अब हमारे मार्क्स के बेसिस पर ये एवरेज अरेंज होकर आ गए यानी सबसे पहले हमारे पास दिल्ली आ गया फिर हमारे एवरेज मार्क्स आ गए फिर पुणे आ गया फिर हमारे ये मार्क्स आ गए फिर हमारे पास मुंबई आए फिर इसके ये मार्क्स आए तो हम चाहे तो एवरेज मार्क्स के बेसिस पर भी अरेंज कर सकते हैं और हम चाहे तो सिटी के बेसिस पर भी असेंडिंग ऑर्डर में अरेंज कर सकते हैं अब ऑर्डर बाय हमने नोटिस किया बाय डिफॉल्ट अगर हम असेंडिंग या डिसेंडिंग नहीं लिखते तो बाय डिफॉल्ट असेंडिंग ऑर्डर में ही अरेंज करके देता है पर अगर हम यहां पर डिसेंडिंग लिख दें तो हमारे पास डिक्रीजिंग ऑर्डर में भी मार्क्स आ जाएंगे ऐसे लिखा तो सबसे पहले हाईएस्ट मार्क्स फिर उससे कम फिर उससे कम तो असेंडिंग लिखना हमेशा स्पेसिफाई करना जरूरी नहीं होता पर डिसेंडिंग के केस में हमें हमेशा डिसेंडिंग लिखना पड़ता है तो इस तरीके से हम अपने मार्क्स निकाल सकते हैं डिफरेंट डिफरेंट क्लॉज़स को कंबाइन करके अब एक और प्रैक्टिस क्वेश्चन हम करने वाले हैं इसके अंदर हमें बहुत सारा डाटा दिया हुआ है और यह हमारा टोटल पेमेंट्स का डाटा है तो हमारे पास हमारी कस्टमर आईडी है हमारे पास बहुत सारे कस्टमर्स के नाम हैं हमारे पास मोड्स है मोड्स यानी किस तरीके से पेमेंट हुई है नेट बैंकिंग हुई है क्रेडिट कार्ड पेमेंट हुई है या हमारे पास डेबिट कार्ड की पेमेंट है और हमारे पास काफी सारी सिटीज भी है इस टेबल के अंदर लेट्स सपोज ये जो हमारी टेबल है इस टेबल का नाम है हमारे पास पेमेंट यानी पेमेंट डाटा है हमारे पास या फिर इसे कस्टमर टेबल भी कह सकते हैं पर इसे हम पेमेंट टेबल कह लेते हैं अब हमें क्या करना है हमें फाइंड करना है टोटल पेमेंट्स अकॉर्डिंग टू ईच पेमेंट मेथड यानी नेट बैंकिंग से कितनी पेमेंट्स हुई हमें वो बताना है डेबिट कार्ड से कितनी पेमेंट हुई हमें वो बताना है क्रेडिट कार्ड से कितनी पेमेंट हुई हमें वो बताना है और हमें एक-एक करके गिनना नहीं है हमें एसक्यूएल को यूज़ करके बताना है तो अभी यहां पर आपको पॉज करना है ग्रुप बाय को यूज़ करके हम कैसे इस सवाल को सॉल्व कर सकते हैं थोड़ा सा उसके बारे में सोचना है एंड फिर हम सॉल्यूशन को देख सकते हैं अब जब भी हम ग्रुप बाय को यूज़ करते हैं सबसे पहला थॉट तो यही आना चाहिए कि ग्रुप किसके बेसिस पर बनाना है हमें पहले वाले केस में पता था कि हमें सिटी के बेसिस पर ग्रुप बनाना है यहां पर किसके बेसिस पर ग्रुप बनाना है क्योंकि हमें हर पेमेंट मेथड की टोटल पेमेंट्स काउंट करनी है तो हमें पता है कि एक तो हमें सारी की सारी पेमेंट वो बतानी पड़ेंगी जो नेट बैंकिंग के लिए हुई है फिर सारी की सारी वो बतानी पड़ेंगी जो हमारी क्रेडिट कार्ड के लिए हुई है और फिर सारी जो डेबिट कार्ड के लिए हुई है तो ये हमारा ग्रुप का बेसिस हो जाएगा कि जो मोड ऑफ पेमेंट रहा जिस मोड ऑफ पेमेंट को हमने यूज किया उसी के बेसिस पर हम ग्रुप बनाएंगे तो हम यहां पर लिख सकते हैं सेलेक्ट तो अभी के लिए हम सेलेक्ट करने वाले हैं अपना मोड फ्रॉम हमारी टेबल का नाम हम लिख देते हैं पेमेंट एंड यहां हम यूज कर लेते हैं अपने ग्रुप बाय क्लॉज का जिसके अंदर हम लिखेंगे अपनी मोड को तो इससे क्या होगा हमारे सारे के सारे तीनों के तीनों मोड्स आ जाएंगे नेट बैंकिंग भी आ जाएगा क्रेडिट कार्ड भी आ जाएगा डेबिट भी आ जाएगा अब हमें चाहिए कि हर मोड के अंदर हर एक डिफरेंट मोड के अंदर कितनी टोटल पेमेंट्स हुई तो टोटल पेमेंट्स कैसे पता चलेंगी जितने भी हमारे कस्टमर्स होंगे या जितने भी कस्टमर आईडी होंगी वो हमारी टोटल पेमेंट हो जाएंगी लेट्स सपोज हम अपने कस्टमर्स ले लेते हैं तो जितने कस्टमर्स हैं उतनी पेमेंट्स है अब हमें क्या चाहिए कस्टमर्स का टोटल निकालने के लिए कि कितनी पेमेंट है हमें काउंट चाहिए कि कितने कस्टमर्स हैं उनको काउंट कर लो तो उसके लिए हम कॉमा करके लिख सकते हैं काउंट ऑफ कस्टमर इसे थोड़ा सा हम ड्रैग कर लेते हैं थोड़ा इस तरफ तो ये क्या हुआ हम सेलेक्ट कर सकते हैं सारे के सारे मोड्स फ्रॉम पेमेंट एंड ग्रुप बाय कर देंगे मोड अब हर मोड के अंदर कितने कस्टमर हैं उसका हम काउंट भी साथ के साथ प्रिंट करा देंगे तो हमारे पास टोटल नंबर ऑफ पेमेंट्स आ जाएंगी तो यह तरीका होगा सारी की सारी पेमेंट्स निकालने का अकॉर्डिंग टू ईच पेमेंट मेथड आप चाहे तो इस टेबल को एसक्यूएल के अंदर बनाकर भी देख सकते हैं एंड यह स्टेटमेंट लिखकर वेरीफाई भी कर सकते हैं कि हमारे पास जो फाइनल आंसर आ रहा है वो सही आ रहा है नहीं आ रहा है बाकी मेरी गारंटी है फाइनल आंसर सही आएगा हमने अगर सही डाटा एंटर किया है अपनी टेबल के अंदर तो अब इसी तरीके से हम एक और सैंपल चीज लिख सकते हैं यूजिंग ग्रुप बाय लेट्स सपोज मुझे निकालना है कि ए ग्रेड क्लास में कितने स्टूडेंट्स को मिला है बी ग्रेड कितने स्टूडेंट्स को मिला है एफ ग्रेड कितने स्टूडेंट्स को मिला है बेसिकली ग्रेड के बेसिस पर मुझे पता करने है कितने स्टूडेंट्स हैं जिनको वो पर्टिकुलर ग्रेड मिला है तो सबसे पहले तो ग्रेड के बेसिस पर ग्रुप बनेगा तो हम सिलेक्ट कर लेते हैं ग्रेड फ्रॉम माय स्टूडेंट टेबल ग्रुप बाय ग्रेड तो इससे तो क्लास के अंदर जितने भी ग्रेड्स आए होंगे वो सारे के सारे मेरे लिए आ जाएंगे एग्जीक्यूट किया सी ए बी एफ तो सारे के सारे ग्रेड्स आ गए हम चाहे तो इन्हें ऑर्डर बाय भी कर सकते हैं ऑर्डर बाय तो असेंडिंग कर लेते हैं ऑर्डर बाय ग्रेड तो ग्रेड के बेसिस पर असेंडिंग ऑर्डर में आ जाएंगे हमारे पास ए बी सी एंड एफ तो अब साथ के साथ मुझे चाहिए कितने स्टूडेंट्स को कौन सा ग्रेड मिला तो हम काउंट कर सकते हैं नंबर ऑफ या तो हम स्टूडेंट्स काउंट कर लेंगे काउंट नेम कर सकते हैं या हम काउंट रोल नंबर कर सकते हैं क्योंकि नाम दो लोगों के सेम नाम हो सकते हैं तो इसको कर लेते हैं तो हमारे पास दो स्टूडेंट्स ऐसे हैं जिनको ए ग्रेड मिला दो स्टूडेंट्स को बी मिला एक को सी मिला एक को एफ ग्रेड मिला तो इस तरीके से ग्रेड के बेसिस पर अपनी क्लास के अंदर भी हम ग्रुपिंग को यूज कर सकते हैं अब नेक्स्ट हम बात करने वाले हैं अपने हैविंग क्लॉज के बारे में जो हमारा हैविंग क्लॉज होता है वो भी कंडीशंस डिफाइन करने के काम ही आता है अब कंडीशंस डिफाइन करने के लिए पहले हमने एक और क्लॉज पढ़ा था अपना वेयर क्लॉज तो जैसा काम हमारे वेयर क्लॉज का होता है वैसा ही सिमिलर सा काम हमारे हैविंग क्लॉज का होता है दोनों का ही काम होता है कि ये कुछ ं अप्लाई करने के काम आते हैं हमारी रोज के ऊपर पर कई बार ऐसी सिचुएशन आती है कई बार हमें ऐसी कमांड लिखनी पड़ती है एसक्यूएल के अंदर जिसके अंदर हम वेयर को यूज नहीं कर सकते हैं तो वैसे केसेस में हम अपने हैविंग क्लॉज को यूज करते हैं तो वेयर क्या करता है वेर तो नॉर्मल रोज के ऊपर अगर हमें कोई कंडीशन लगानी है तो उसके काम आता है हैविंग क्लॉज क्या करता है हैविंग क्लॉज ग्रुप्स के ऊपर कंडीशंस अप्लाई करने के काम आता है जैसे लेट्स सपोज हमने बहुत सारे ग्रुप्स बना दिए अब उन ग्रुप्स के ऊपर भी हमें कंडीशन लगानी है तो उसके लिए हम अपने हैविंग क्लॉज को यूज करेंगे जैसे लेट्स सपोज हमें काउंट करने है नंबर ऑफ स्टूडेंट्स इन ईच सिटी वेयर मैक्सिमम मार्क्स क्रॉस 90 यानी हमारी एक सिटी होगी पुणे हमारी एक सिटी हो गई मुंबई हमारी एक सिटी होगी दिल्ली सबके अंदर कुछ ना कुछ हमारे स्टूडेंट्स का काउंट आएगा हो सकता है इस सिटी के अंदर कुछ स्टूडेंट्स हो इस सिटी के अंदर कुछ स्टूडेंट्स हो ये हमारे काउंट ऑफ स्टूडेंट्स आ गया पर हमें सिर्फ उन्हीं सिटीज का काउंट चाहिए जिन सिटीज के अंदर स्टूडेंट्स ने एटलीस्ट 90 जो मैक्सिमम मार्क्स हैं वहां तक गए हैं मतलब अगर दिल्ली के अंदर एक ही बच्चा रहता है और उस बच्चे के मार्क्स 85 रह गए उस बच्चे के मार्क्स मैक्सिमम मार्क्स 90 नहीं है तो उस केस में दिल्ली का डाटा मुझे देखना ही नहीं है तो इस तरीके की जो कंडीशन है या लेट्स सपोज मुंबई के अंदर अगर एक स्टूडेंट के 75 मार्क्स आए हैं एक के 95 आए हैं तो उस केस में मुंबई के मार्क्स मुझे देखने हैं क्योंकि मैक्सिमम मार्क्स 95 यानी 90 को क्रॉस करके गए हैं तो इस तरीके से अगर मुझे डाटा देखना है बेस्ड अपऑन मैक्सिमम मार्क्स क्रॉसिंग 90 तो उस केस में हम अपने हैविंग क्लॉज को यूज कर सकते हैं तो इसको स्टेप बाय स्टेप समझते हैं सबसे पहले तो हम अपनी सिटी के बेसिस पर ग्रुप करते हैं सिलेक्ट सिटी फ्रॉम स्टूडेंट टेबल यहां फ्रॉम को हम अपने कैपिटल में लिख लेते हैं स्टूडेंट टेबल एंड इसे कर देते हैं ग्रुप बाय हमारी सिटी इसे कर लेते हैं सिलेक्ट एंड एग्जीक्यूट या तो हमारी तीन सिटीज आ गई पुणे मुंबई एंड दिल्ली अब हमें काउंट करने है सारे के सारे स्टूडेंट्स कि हर सिटी में कितने स्टूडेंट्स हैं तो उसके लिए हम अपने रोल नंबर पे या नेम पे काउंट लगा सकते हैं तो काउंट किया एग्जीक्यूट किया तो हमारे पास आ गया पुणे में एक बच्चा है मुंबई के अंदर दो स्टूडेंट्स हैं और दिल्ली के अंदर तीन स्टूडेंट्स हैं तो सारी की सारी सिटीज का काउंट आ गया पर हमें क्या चाहिए था हमें तो वो सिटीज चाहिए थी जिसमें मैक्सिमम मार्क्स 90 क्रॉस करते हैं तो उसके लिए हम अपने हैविंग क्लॉज को यूज़ कर सकते हैं हैविंग मैक्सिमम ऑफ मार्क्स ग्रेटर दन 90 तो जहां पर हमारे मैक्सिमम मार्क्स 90 से ऊपर है अब इसे कर लेते हैं सिलेक्ट एंड एग्जीक्यूट तो अब दो ही सिटीज आई मुंबई में दो बच्चे हैं दिल्ली में तीन बच्चे हैं क्योंकि मुंबई के अंदर जो हमारे मैक्सिमम मार्क्स है वो 93 के इक्वल और दिल्ली के अंदर हमारे जो मैक्सिमम मार्क्स है वो 96 के इक्वल पर पुणे के अंदर एक ही स्टूडेंट है जिसके 78 मार्क्स है तो मैक्सिमम मार्क्स कभी 90 से ऊपर गए ही नहीं तो उस केस में हमारे पास दो ही सिटीज का डाटा आया पुणे का डाटा हमारे पास डिस्प्ले होकर नहीं आया अब ये जो कंडीशन लगी ये वाली जो कंडीशन लगी मैक्सिमम मार्क्स ग्रेटर दन 90 ये हर एक ग्रुप पर लगी अब हम चाहते वेयर मैक्सिमम ऑफ मार्क्स ग्रेटर दन 90 अब अगर हम हैविंग को हटा दें यहां से और हम सोचे कि हम वेयर को यूज़ करके ही ये कंडीशन लगा लेते हैं तो वो चीज पॉसिबल नहीं होगी क्योंकि मैक्सिमम ऑफ मार्क्स वेयर मतलब कहां पर हमारे मैक्सिमम ऑफ मार्क्स हम कहां पर देख रहे हैं तो उसका कोई सेंस नहीं बनाएगी ये सिचुएशन तो ये ऐसी सिचुएशन है जिसके अंदर हम वेयर को यूज़ नहीं कर सकते इसीलिए इस सिचुएशन के अंदर हम अपने हैविंग क्लॉज को यूज़ करते हैं अपने डटा के ऊपर कुछ ना कुछ कंडीशन अप्लाई करने के लिए अब जनरली अभी तक हमने बहुत सारे क्लॉज़स पढ़ लिए हैं बहुत सारी चीजें देख ली हैं तो एक जनरल ऑर्डर होता है इन क्लॉसस को लिखने का कि एक सीक्वेंस होता है जिनमें लिखे जाते हैं सबसे पहले हम अपने सिलेक्ट को लिखते हैं फिर हम अपने कॉलम्स को डिफाइन करते हैं कौन-कौन से कॉलम्स का डाटा चाहिए फिर हम लिखते हैं फ्रॉम कि हमें कौन सी टेबल से डाटा चाहिए फिर हम लिखते हैं वेयर कि कौन-कौन सी कंडीशंस लगनी चाहिए उस डाटा के ऊपर फिर हम लिखते हैं ग्रुप बाय किस बेसिस पर हमारे ग्रुप्स बनने चाहिए फिर हम लिखते हैं हैविंग कि इन ग्रुप्स के ऊपर कौन सी कंडीशन लगनी चाहिए हमारा जो वेयर है वेयर तो कंडीशन लगाएगा अपने सारे के सारे रोज के ऊपर एंड कॉलम्स के ऊपर कंडीशन लगाने का काम करेगा हैविंग एंड लास्ट में हमारा जो भी डाटा आएगा हम उसे ऑर्डर कर सकते हैं बेस्ड अपऑन किसी भी कॉलम की स्पेसिफिक कंडीशन तो यहां से दो चीजें देखने को पता चलती हैं कि हमारा जो वेयर होता है हमारा वेयर हमारे रोज के ऊपर कंडीशन लगाता है और हमारा जो हैविंग होता है हमारा हैविंग हमारे ग्रुप्स के ऊपर कंडीशन लगाता है इसके साथ-साथ जो वेयर होता है वो हमारे ग्रुप बाय से पहले लिखा जाता है हैविंग हमारे ग्रुप बाय के बाद लिखा जाता है तो एक जनरल ऑर्डर होता है जिसके बेसिस पर हम अपने डाटा को देख सकते हैं इनफैक्ट यहां पर हम लगाकर भी देख सकते हैं कि लेट्स सपोज हमने लिखा सिलेक्ट सिटी हमें सारी की सारी सिटीज चाहिए फ्रॉम सिटी या सॉरी फ्रॉम स्टूडेंट हमारी स्टूडेंट टेबल से हमें चाहिए जहां पर लेट्स सपोज ऐसी सिटीज जहां पर चेतन नाम का जो बच्चा है वो एजिस्ट करता है वेयर नेम इक्वल्स टू या जहां पर हमारा ग्रेड की वैल्यू जहां पर स्टूडेंट्स को ए ग्रेड मिला है वेर ग्रेड इक्वल्स टू a एंड इनको हम ग्रुप बाय करेंगे आर सिटी नेम तो इसे कर लेते हैं सिलेक्ट एग्जीक्यूट तो मुंबई और दिल्ली ऐसी सिटीज हैं जहां पर हमारे स्टूडेंट्स को ग्रेड मिला है ए अब इसमें से भी हम वो सिटीज निकालेंगे हैविंग जहां पर मैक्सिमम जो मार्क्स है हमारे मैक्सिमम ऑफ मार्क्स की वैल्यू ग्रेटर देन 90 है तो ऐसी सिटीज जहां पर मैक्सिमम मार्क्स ग्रेटर दन 90 है तो ग्रेड ए तो किस पर लगा ग्रेड ए सारी की सारी रोज पर लगा पर ये जो हैविंग वाली कंडीशन है ये ग्रुप पर लगेगी कि जो भी ग्रुप है उसके अंदर मैक्सिमम मार्क्स ग्रेटर दन 90 होने चाहिए या लेट्स सपोज मैक्सिमम मार्क्स शुड बी ग्रेटर दन 93 तो इसको कर लेते हैं सिलेक्ट एग्जीक्यूट तो अब सिर्फ दिल्ली आई क्योंकि दिल्ली के अंदर ही मैक्सिमम मार्क्स ग्रेटर दन 93 है मुंबई के अंदर तो 93 पर लिमिट है पर ग्रेटर दन इक्वल टू कर देते हैं तो मुंबई दिल्ली दोनों आ जाएंगे एग्जीक्यूट किया तो मुंबई दिल्ली दोनों आ गए अब इसके ऊपर भी हम चाहे तो इन सिटीज को एक पर्टिकुलर ऑर्डर में दिखा सकते हैं कि ऑर्डर बाय एंड इन्हें हम असेंडिंग ऑर्डर में दिखा सकते हैं इतने पार्ट को सिलेक्ट कर लेते हैं और यहां पर सिटी का नाम लिख लेते हैं सिटी एंड असेंडिंग ऑर्डर में दिखाने के लिए दिल्ली मुंबई दोनों आ गए अपने असेंडिंग ऑर्डर में और इन्हीं को डिसेंडिंग ऑर्डर में दिखाने के लिए ये आ गए हमारे पास डिसेंडिंग ऑर्डर में मुंबई एंड दिल्ली तो इस तरीके से हमने जितने भी क्लॉज जितनी भी कंडीशन लिखी उन सबको हम एक साथ भी लिख सकते हैं तो मैजिक यही है सिर्फ एसक्यूएल कमांड्स अगर हमने सीख ली कि कैसे रन करनी है वो है हमारा लेवल वन फाइनल जो लेवल आता है उसमें हमारे पास ये शक्ति होनी चाहिए ये इतनी हमारे पास अच्छी प्रैक्टिस होनी चाहिए कि जितनी भी चीजें हमने सीखी हैं उनको हम कंबाइन करें और कंबाइन करके हम अपनी बहुत जो बड़ी-बड़ी क्वेरीज होती हैं उनके सॉल्यूशंस लिख पाए उनके सॉल्यूशंस निकाल पाए अब नेक्स्ट हम बात करने वाले हैं अपनी कई सारी टेबल रिलेटेड क्वेरीज के बारे में अभी तक ऑलरेडी टेबल के अंदर हम अपनी टेबल को क्रिएट कैसे करते हैं उस टेबल को हम डिलीट कैसे करते हैं उसके अंदर डेटा हम इंसर्ट कैसे करते हैं ऐसे ऑपरेशंस हम देख चुके हैं हम ये भी देख चुके हैं टेबल के अंदर से अगर हमें डटा को देखना है उसे सेलेक्ट करना है तो कौन-कौन सी अलग-अलग कंडीशंस अप्लाई करके हम उस डेटा को सेलेक्ट कर सकते हैं अब इसके अलावा भी टेबल के डाटा पर कई सारे ऑपरेशंस करना पॉसिबल है इसमें से सबसे पहला ऑपरेशन होता है हमारा अपडेट ऑपरेशन अपडेट ऑपरेशन का काम होता है कि एजिस्टिफाई रोज के अंदर तो उस डेटा को हम कैसे अपडेट कर सकते हैं उसके लिए हम अपडेट को यूज़ करते हैं तो किसी भी टेबल के रोज को अपडेट करने के लिए हम लिखते हैं अपडेट अपनी टेबल का नाम और फिर लिखते हैं सेट कीवर्ड सेट से क्या होता है नया डाटा सेट होता है तो अगर किसी कॉलम की वैल्यू को हम कोई नई वैल्यू में चेंज करना चाहते हैं तो हम इस तरीके से लिख सकते हैं और उसके साथ में हम चाहे तो कोई कंडीशंस भी अप्लाई कर सकते हैं जैसे लेट्स सपोज कल को क्या हुआ हमारा कॉलेज के अंदर अभी तक हमारा ग्रेड ए दिया जा रहा था बी दिया जा रहा था सी डी ए इस तरीके से हमारे कई सारे ग्रेड्स दे रहा था हमारा कॉलेज पर कल को कॉलेज ने डिसाइड किया कि आज से हम ए ग्रेड नहीं देंगे जो भी स्टूडेंट्स 90 प्लस स्कोर करेंगे उन सबको हम आउटस्टैंडिंग देंगे यानी उन सब के ए वाले ग्रेड को हमें चेंज करना है टू ओ ग्रेड अब ऑलरेडी अगर कहीं फिजिकल रजिस्टर होता या कहीं पर फाइल सिस्टम होता तो उसके अंदर बहुत सारा टाइम लग जाता बट एसक्यूएल के अंदर इस काम को परफॉर्म करना बहुत आसान होता है और इस काम को करने के लिए हम यूज़ करेंगे अपनी अपडेट क्वेरी का सारे के सारे जहां पर भी रोज के अंदर एक ग्रेड है उन ए ग्रेड को चेंज करके ओ ग्रेड अगर हमें करना है तो उसके लिए हमें सिंपल सी क्वेरी लिखनी पड़ेगी अपडेट स्टूडेंट सेट ग्रेड इक्वल टू o वेयर ग्रेड इक्वल टू a यानी जहां पर भी हमारा a ग्रेड है वहां पर सेट कर दो नया ग्रेड व्हिच इज इक्वल टू o हमारे स्टूडेंट टेबल के अंदर तो इस काम को करने के लिए हम अपनी क्वेरी लिखते हैं तो हम लिख देंगे अपडेट स्टूडेंट सेट ग्रेड इक्वल टू ओ ग्रेड हमें सेट करना है जहां पर भी वेयर ग्रेड इक्वल टू a ग्रेड के इक्वल हो थोड़ी सी हम स्पेस दे देते हैं तो यह हमारी क्वेरी हो जाएगी स्टूडेंट टेबल के अंदर जहां पर भी हमारा ग्रेड इक्वल टू a है वहां पर ग्रेड इक्वल ट o सेट कर दो इसको कर लेते हैं एग्जीक्यूट जैसे ही एग्जीक्यूट किया हमारे पास एक एरर आया है अच्छा एरर ये आया है 1175 यू आर यूजिंग सेफ अपडेट मोड तो इस तरीके का एरर अगर आपके भी सिस्टम पर आता है तो इट इज अ वेरी नॉर्मल थिंग एक्चुअली माय एसक्यूएल के अंदर एक हमारा सेफ मोड होता है सेफ मोड क्या करता है सेफ मोड हमें प्रिवेंट करता है कि गलती से हम अपनी टेबल के अंदर डेटाबेस के अंदर कुछ ऐसे चेंजेज ना कर दें जो जरूरी नहीं थे जो एक्स्ट्रा हमने चेंजेज कर दिए गलती से अगर हम डेटाबेस के अंदर कुछ बड़ा सा चेंज कर देंगे तो वो बहुत प्रॉब्लम कॉज कर सकता है तो इस तरीके के गलती के चेंजेज से बचाने के लिए हमारे पास सेफ मोड पहले से ही ऑन होता है माय एएल में जिसको हम ऑफ कर सकते हैं ऑफ करने के लिए हमें एक सिंपल सी कमांड लिखनी पड़ती है सेट ए कएल अंडर सेफ अंडरस्कोर अपडेट्स इक्वल टू 0 अगर हम यह कमांड लिख देते हैं अपने माय एसक्यूएल में तो हम सेफ मोड से बाहर चले जाते हैं मतलब सेफ मोड ऑफ हो जाता है रो मतलब ऑफ वन मतलब ऑन तो उसके बाद हम सारे के सारे टेबल्स के ऊपर अपडेट्स कर सकते हैं पर अगर हम इसको कल को दोबारा से रो से वन करके दोबारा इस क्वेरी को रन कर दें दोबारा इस चीज को रन कर दें तो फिर दोबारा से सेफ मोड ऑन हो जाएगा तो सेफ मोड को ऑफ कर लेते हैं कैसे कर सकते हैं यहां पर अपनी कमांड लिख देते हैं सेट एएल सेफ अंड अपडेट्स इक्वल ट 0 इसे सेलेक्ट करके रन करते हैं तो सेफली ये रन हो गई है यहां पे एग्जीक्यूट हो गई एंड अब हम अपनी अपडेट क्वेरी को रन कर सकते हैं अपडेट को जैसे ही रन किया इस बार सेफली अपडेट हो गया एंड हम चाहे तो अपने पूरे के पूरे डटा को चेक भी कर सकते हैं सिलेक्ट ऑल फ्रॉम स्टूडेंट तो स्टूडेंट टेबल का पूरा डाटा हमारे पास आ जाएगा सेलेक्ट करके एग्जीक्यूट तो इस बार हमें ए ग्रेड कहीं भी नहीं दिखेगा जहां-जहां ए ग्रेड था वहां अब हमारे पास ओ ग्रेड आ गया हमारी टेबल के अंदर तो इस तरीके से अपडेट्स करना पॉसिबल है हम चाहे तो ये जो इनुल है इसके मार्क्स को 12 से और ज्यादा अपग्रेड करके लेट्स सपोज अ मार्क्स जो थे गलत कैलकुलेट हो गए थे 12 की जगह ये जो स्टूडेंट है जिसका रोल नंबर व 5 है इसके मार्क्स 92 होने चाहिए थे या 82 होने चाहिए थे तो मार्क्स को अपडेट करने के लिए हम लिख सकते हैं अपडेट स्टूडेंट सेट मार्क्स इज इक्वल टू मार्क्स इज इक्वल ट 92 या 82 जिस भी स्टूडेंट का रोल नंबर 105 था उसके मार्क्स गलत अपडेट हो गए थे तो वेयर रोल नंबर इ इक्व 105 तो जहां रोल नंबर 105 था उस स्टूडेंट्स के मार्क्स सेट कर दो 282 इसको कर सकते हैं एग्जीक्यूट तो एग्जीक्यूट हो गया सक्सेसफुली अब दोबारा से अपनी टेबल को देखते हैं टेबल के अंदर इमैनुएल के मार्क्स अपडेट होकर हो गए हैं 82 के इक्वल अब 82 मार्क्स है तो ग्रेड भी एफ हो जाना चाहिए तो इसको भी कर देते हैं कि अपडेट स्टूडेंट सेट ग्रेड सारे स्टूडेंट्स का ग्रेड बी सेट हो जाए बी सेट हो जाए जहां पर स्टूडेंट्स के मार्क्स ग्रेटर दन 80 है तो इसका मतलब है जिन भी स्टूडेंट्स के मार्क्स ग्रेटर दन 80 है या बिटवीन मार्क्स बिटवीन हम यूज कर सकते हैं जिन स्टूडेंट्स के मार्क्स 80 से 90 के बीच में है जिन स्टूडेंट्स के मार्क्स 80 से 90 के बीच में है उन सबका ग्रेड ब ी सेट होना चाहिए तो इस तरीके से इनुल का ग्रेड भी अपडेट हो जाएगा तो सक्सेसफुली रन हो गई क्वेरी दोबारा देखेंगे तो इस बार इ मैनुअल के जो ग्रेड्स हैं वो अपडेट होकर हो गए हैं बी के इक्वल एंड इस तरीके से फरा के भी ग्रेड्स बी में अपडेटेड हैं एंड बाकी सबके तो पहले से ठीक है ही तो इस तरीके से हम अपनी एसिस्टिंग टेबल के अंदर कुछ कुछ चेंजेज लेकर आ सकते हैं यूजिंग द अपडेट क्वेरी अब एक और इंटरेस्टिंग चीज करते हैं लेट्स सपोज कल को हमारी जो आंसर शीट है उसमें पता चला कि एक जो एमसीक्यू था वो कॉलेज ने गलत दे दिया था तो उसके बेसिस पर कॉलेज डिसाइड करता है कि सबके मार्क्स एक-एक बढ़ा देने चाहिए क्योंकि हमने गलत क्वेश्चन दिया था क्वेश्चन पेपर में तो वो चीज करने के लिए हम एक अपडेट क्वेरी लिख सकते हैं हम लिख सकते हैं अपडेट स्टूडेंट सबके मार्क्स अपडेट कर लेते हैं सेट मार्क्स इक्वल टू मार्क्स + 1 और इसमें हमारी वेयर जो कंडीशन है उसकी हमें जरूरत नहीं पड़ेगी तो इस क्वेरी से क्या होगा हम अपने स्टूडेंट टेबल को अपडेट कर रहे हैं और हर जगह मार्क्स की वैल्यू क्या सेट कर रहे हैं जो पुराने मार्क्स थे उसमें अब हम प्लस वन कर रहे हैं और वो हमारे अब नए मार्क्स की वैल्यू हो जाएगी तो इसको हम कर देते हैं एग्जीक्यूट तो एग्जीक्यूट हमने कर दिया और अब अपने स्टूडेंट्स को सेलेक्ट कर लेते हैं सेलेक्ट किया सारे के सारे स्टूडेंट्स के अब यहां नोटिस कर रहे होंगे हम पुराने जो मार्क्स थे उससे जो मतलब डाटा हमने इनिशियली ऐड किया था उस डटा से सबके मार्क्स एक-एक अब बढ़ गए हैं तो इस तरीके से एजिस्टिफाई बात करने वाले हैं टेबल्स के अंदर अपने डिलीट के बारे में डिलीट का काम होता है टू डिलीट सम एजिस्टिफाई भी चीज़ अगर हमें डिलीट करनी है तो हम सीधा लिख सकते हैं डिलीट फ्रॉम टेबल एंड फिर वेयर करके अपनी कंडीशन जैसे लेट्स सपोज जिन भी स्टूडेंट्स के मार्क्स 33 से कम आए हैं उन सारे स्टूडेंट्स का हमें डेटा डिलीट करना है तो उसके लिए हम लिख सकते हैं डिलीट फ्रॉम स्टूडेंट वेयर मार्क्स लेस देन 33 तो इस तरीके से हम कंडीशन डिफाइन कर सकते हैं अभी के लिए एक बार अपनी स्टूडेंट टेबल को अगर देखें तो स्टूडेंट टेबल के अंदर अभी किसी के भी मार्क्स ऐसे नहीं है जो 30 से कम हो तो क्या कर देंगे इनुल के मार्क्स दोबारा से 12 कर देते हैं टू इट्स ओरिजिनल वैल्यू ताकि हम उसे डिलीट कर सक तो अपडेट स्टूडेंट सेट मार्क्स इक्वल टू 12 वेयर रोल नंबर इक्वल टू 105 तो एक बार डाटा रिसेट कर देते हैं और चेक कर लेते हैं अब इनुल जो है स्टूडेंट के मार्क्स हमारे पास 12 आ गए अब हम इसी स्टूडेंट के जो मार्क्स हैं डाटा जो है उसे डिलीट करने वाले हैं तो इनफैक्ट यहां पर ही हम लिख सकते हैं डिलीट फ्रॉम हमारी स्टूडेंट टेबल वेयर मार्क्स लेस दन 33 तो जितने भी स्टूडेंट्स हैं जितनी भी रोज हैं जहां पर मार्क्स लेस दन 33 होंगे उन सबके मार्क्स डिलीट हो जाएंगे इसको एग्जीक्यूट कर लेंगे एंड अब अगर हम अपने स्टूडेंट को देखें तो अब यहां पर हमें इ मैनुअल नाम का स्टूडेंट नहीं दिखेगा रोल नंबर 105 जा चुका है क्योंकि उस डाटा को हमने डिलीट कर दिया है तो जब भी कोई डिलीट का ऑपरेशन होता है उसे बड़े ध्यान से परफॉर्म करना है क्योंकि एक बार डेटाबेस से डिलीट हो गया तो वो चीज हमें यूजुअली वापस मिलेगी नहीं तो जब भी डिलीट को यूज़ करें गलती से किसी सेंसिटिव डाटा को हमें गलती से डिलीट नहीं कर देना बट बेसिकली ऐसे हमारा डिलीट ऑपरेशन काम करता है अगर हम यहां पर लिख दें डिलीट फ्रॉम स्टूडेंट और बिना किसी वेयर कंडीशन के यहां पर सिंपली हम ऐसे लिख दें तो इस स्टेटमेंट से क्या होगा इस स्टेटमेंट से हमारी पूरी की पूरी टेबल का डटा भी डिलीट हो सकता है तो इसीलिए जनरली हम वेयर के साथ यूज करते हैं नहीं तो किसी भी टेबल का अगर हम सिर्फ डेटा डिलीट करना चाहते हैं तो हम इस स्टेटमेंट को ऐसे भी लिख सकते हैं नेक्स्ट हम बात करने वाले हैं अपनी फॉरेन कीज के बारे में अब फॉरेन कीज का कांसेप्ट हम ऑलरेडी पढ़ चुके हैं कि फॉरेन कीज का क्या कांसेप्ट होता है हमने दो तरीके की कीज पढ़ी थी एक थी हमारी प्राइमरी की एक थी हमारी फॉरेन की अब प्राइमरी कीज जनरली हमारी स्ट्रेट फॉरवर्ड होती है जब भी हम किसी नई टेबल को क्रिएट करते हैं उस टेबल के अंदर जनरली हम एक ऐसी आईडी या रोल नंबर या कुछ और ऐसी कॉलम बना लेते हैं जिसको हम अपनी प्राइमरी की बना लेते हैं जो यूनिक होती है और हमेशा नॉट नल होती है तो ये तो काफी स्ट्रेट फॉरवर्ड सी चीज है पर हमारा एक और कांसेप्ट होता है फॉरेन की का जो थोड़ा सा हमें इंटरेस्टिंग थोड़ा सा हमें नया लग रहा होगा इसको हम एक बार थोड़ा सा और डिटेल में देख लेते हैं लेट्स सपोज हमारे पास दो टेबल्स हैं ये है हमारी पहली टेबल इस टेबल के अंदर हमने कोर्सेस का डाटा स्टोर कराया है हमने डिफरेंट डिफरेंट कोर्सेस हैं हमारे पास जैसे यहां पर हमारे हर एक कोर्स के लिए या इसे हम आईडी कह देते हैं सिंपली हर एक कोर्स की हमारे पास आईडी है और कोर्स का नाम है जैसे लेट्स सपोज हमारे एक कोर्स की आईडी है 101 और इसका नाम है साइंस दूसरे कोर्स की आईडी है 101 इसका नाम है इंग्लिश तीसरे कोर्स की आईडी है 103 इसका नाम है हिंदी तो हमारा कॉलेज है उसके अंदर तीन कोर्सेस पढ़ाए जाते हैं तो ये हमारी कोर्सेस नाम की एक टेबल है वैसे ही हम एक और टेबल बना सकते हैं जिसमें लेट्स सपोज हम अपने कॉलेज के अंदर सारे के सारी टीचर्स की इंफॉर्मेशन स्टोर कराते हैं इसे कोर्सेस नहीं इसे कोर्स कह देते हैं तो कोर्स नाम की टेबल है एक टीचर नाम की टेबल है टेबल को थोड़ा सा बेहतर बना लेते हैं तो ये हमारी टीचर नाम की टेबल है जिसके अंदर एक तो हर टीचर की अपनी एक आईडी होगी लेट्स सपोज टीचर की आईडी 101 है 102 है 103 है 104 है इस तरीके से चार टीचर्स हैं हर टीचर का अपना एक नेम होगा और हर टीचर की अपनी एक डिपार्टमेंट आईडी होगी लेट्स सपोज एक टीचर है उन टीचर का नाम है एडम दूसरे टीचर का नाम है बॉब तीसरे टीचर का नाम है केसी चौथे टीचर का नाम है डॉनल्ड तो इस तरीके से चार रैंडम टीचर्स हैं हमारे पास जिनके नाम हमने लिखे हुए हैं अब हर टीचर के लिए उसकी एक डिपार्टमेंट आईडी होगी लेट्स सपोज एडम जो है ये हमारे साइंस डिपार्टमेंट के टीचर हैं तो इनके लिए साइंस डिपार्टमेंट की आईडी आ जाएगी 101 बॉब जो है ये हिंदी डिपार्टमेंट के हैं तो इनके लिए आईडी आ जाएगी 103 केसी जो है ये इंग्लिश डिपार्टमेंट की है इनके लिए आईडी आ जाएगी 102 एंड डॉनल्ड जो है ये भी इंग्लिश डिपार्टमेंट के लिए हैं इनके लिए भी आईडी आ जाएगी 102 अब हमें पता है कि ये जो डिपार्टमेंट आईडी है यह बेसिकली इन्हीं कोर्सेस की आईडी है क्योंकि यह डिपार्टमेंट आईडी क्या है जो कोर्स है उसी की आईडी है या इस टेबल को अगर हम कोर्स ना देकर इसको डिपार्टमेंट नाम दे दें इसको हम चाहे तो डिपार्टमेंट नाम भी दे सकते हैं तो यह क्या हो जाएंगी हमारे डिपार्टमेंट्स की आईडी हो जाएंगी तो एक तरीके से कहा जा सकता है कि हमारी जो टीचर टेबल है और हमारी जो डिपार्टमेंट टेबल है यह टेबल एक दूसरे से लिंक्ड है और लिंक का रीज़न क्या है लिंक का रीज़न है हमारी फॉरेन की यानी इस डिपार्टमेंट को हम अपनी डिपार्टमेंट आईडी को फॉरेन की बना सकते हैं और यह फॉरेन की किसे रेफर रेफरेंस कर रही है ये फॉरेन की हमारी डिपार्टमेंट टेबल को रेफरेंस कर रही है तो जब भी हम टीचर टेबल को क्रिएट करेंगे इसके अंदर हम लिख सकते हैं हमारे पास एक फॉरेन की है कौन सी है फॉरेन की हमारी डिपार्टमेंट आईडी और ये डिपार्टमेंट आईडी रेफरेंसेस हमें ऑलरेडी पता है क्या सिंटेक्स होता है फॉरेन की डिफाइन करने का रेफरेंसेस और फिर हमारी टेबल कौन सी डिपार्टमेंट टेबल को रेफरेंस करती है तो इस तरीके से हमारी डिपार्टमेंट आईडी हमारे लिए एक फॉरेन की बन जाएगी जो इस टेबल को इस टेबल से कनेक्ट कर रही है ये सेम चीज हम चाहे तो अपने माय एसक्यूएल के अंदर विजुलाइज भी कर सकते हैं एक बार देखते हैं यहां से यह सारी चीजें हटा लेते हैं हम क्या करेंगे जहां हमने क्रिएट टेबल स्टूडेंट की थी वही हम एक और टेबल क्रिएट करते हैं अपने कोर्सेस के लिए और एक और टेबल क्रिएट करेंगे अपने टीचर्स के लिए तो यहां क्रिएट टेबल करेंगे डिपार्टमेंट या कोर्सेस की जगह डिपार्टमेंट कह देते हैं और इसे हम टीचर कह देते हैं तो डिपार्टमेंट के अंदर एक तो हमारे पास आईडी होगी इंट टाइप की यह बनेगी हमारी प्राइमरी की एंड उसके साथ-साथ हमारे पास नेम होगा सारे के सारे डिपार्टमेंट्स का इसको हम क वेरर ऑफ 50 तो ये हमारी डिपार्टमेंट टेबल होगी उसके अलावा हमारे पास एक टीचर टेबल होगी टीचर टेबल के अंदर भी हमारे पास एक आईडी हो जाएगी इंट प्राइमरी की हमारे पास एक नेम हो जाएगा हर एक टीचर का जिसको हम कह सकते हैं रकर 50 एंड एक हमारे पास डिपार्टमेंट आईडी हो जाएगी जिसको हम कह सकते हैं सिर्फ इंजर और अब हमारा यह जो डिपार्टमेंट आईडी है इसे हम फॉरेन की बना देते हैं तो फॉरेन की और इसे कह देते हैं डिपार्टमेंट आईडी यहां लिख सकते हैं रेफरेंसेस कौन सी टेबल को हमारी डिपार्टमेंट टेबल को रेफरेंस करती है डिपार्टमेंट टेबल के अंदर अपने आईडी कॉलम को तो इस तरीके से हमने टीचर बना दिया उसके अंदर आईडी प्राइमरी की है नाम है डिपार्टमेंट की आईडी और ये डिपार्टमेंट की आईडी हमारी एक फॉरेन की है जो इस डिपार्टमेंट टेबल के साथ कनेक्ट कर रही है तो पहले तो अपनी डिपार्टमेंट टेबल बना लेते हैं इसको एग्जीक्यूट कर दिया तो अब टेबल्स के अंदर यहां पर रिफ्रेश कर लेते हैं हमारा डिपार्टमेंट टेबल आ गई और एक अपनी टीचर टेबल बना लेते हैं यह हमारी टीचर टेबल आ गई इसे भी रिफ्रेश कर लेते हैं तो हमारे पास एक और टेबल आ गई चच इज माय टीचर टेबल तो दो टेबल्स को हमने क्रिएट कर लिया और टीचर टेबल के अंदर एक फॉरेन की है अब माय एसक्यूएल के अंदर इस चीज को विजुलाइज करने के लिए हम क्या करते हैं हम ऊपर जा सकते हैं और यहां ये जो हमारे माय एसकल वर्क बेंच के ऑप्शंस होते हैं इसमें एक डेटाबेस का ऑप्शन होगा डेटाबेस के अंदर रिवर्स इंजीनियर का जो ऑप्शन होगा तो हम रिवर्स इंजीनियर करने वाले अपने डेटाबेस को ये सारे डिफरेंट डिफरेंट चीजें हमारे पास आएंगी हम कर देंगे कंटिन्यू एंड इस तरीके से यहां पे भी कर देंगे कंटिन्यू हम अपने कॉलेज डेटाबेस को सेलेक्ट करेंगे इसको कर देंगे कंटिन्यू कंटिन्यू एंड एग्जीक्यूट तो जैसे ही हम एग्जीक्यूट करेंगे कर देंगे कंटिन्यू एंड क्लोज तो हमारे पास इस तरीके का कुछ एक सिस्टम बनेगा इस तरीके का पेज हमें दिखाई देगा और ऊपर लिखा हुआ आ रहा है ई ईआर डायग्राम ये बेसिकली हमारा ईआर डायग्राम है ईआर डायग्राम हमारे एंटिटी रिलेशनशिप डायग्राम्स होते हैं अब ईआर डायग्राम्स के बारे में हम डीबीएमएस के अंदर डिटेल में पढ़ते हैं ईआर डायग्राम्स बेसिकली हमें दिखाते हैं कि हमारी कैसे डेटाबेस के अंदर मल्टीपल टेबल्स रिलेटेड होते हैं कैसे वो जुड़े होते हैं अब यहां पर अपने डेटाबेस के अंदर हमने तीन टेबल्स बनाई थी हमें पता है हमारे कॉल कॉलेज डेटाबेस के अंदर लेफ्ट में जाएंगे तो हमारे पास तीन टेबल्स है डिपार्टमेंट स्टूडेंट टीचर स्टूडेंट टेबल हमने ऑलरेडी पहले ही बनाई हुई थी उसके अंदर दिख रहा है रोल नंबर है नेम है मार्क्स है ग्रेड है सिटी है ऐसी हमने अब दो टेबल्स बनाई है एक है हमारी टीचर टेबल एक है हमारी डिपार्टमेंट टेबल टीचर टेबल के अंदर यहां इसे थोड़ा सा जूम इन कर लेते हैं यहां से इसे जूम इन करेंगे तो यह हमें दिखाई दे रहा है कि टीचर टेबल के अंदर एक हमारे पास इंट है यहां पर छोटी सी एक चाबी सी बनी आ रही होगी इससे पता चल रहा हैय जो आईडी है ये टाइप की और प्राइमरी की है फिर वरकर है नेम डिपार्टमेंट इंट है और साथ के साथ इस डिपार्टमेंट में भी आईडी प्राइमरी की है नेम है वरकर और इनके बीच में एक ये एरो दिख रहा होगा ये जो एरो है ये बेसिकली हमें दिखाता है कि ये टेबल और ये टेबल कनेक्टेड है कैसे कनेक्टेड है फॉरेन की के थ्रू कनेक्टेड है तो इस तरीके से हम जितनी भी टेबल्स बनाते हैं डेटाबेस के अंदर उनको हम विजुलाइज भी कर सकते हैं अपने ईआर डायग्राम्स के थ्रू और ये जो कनेक्शन है इनका कनेक्शन दिखता है इन द फॉर्म ऑफ देयर फॉरेन की अब इतना ही पार्ट था बेसिकली विजुलाइजेशन आपको दिखाना था कि ये किया जा सकता है इसको क्रॉस कर देते हैं और इसे भी क्रॉस कर देते हैं डोंट सेव एंड वापस आ जाते हैं अपने क्लासरूम एसक्यूएल फाइल के अंदर तो बेसिकली हमारी जो टेबल्स होती हैं जैसे हमने टेबल्स यहां पर बनाई इन सारी टेबल्स को हम अपने माय एसक्यूएल के अंदर भी विजुलाइज कर सकते हैं अब जो कनेक्शन है वो कनेक्शन दिखाता है कि एक फॉरेन की है जो एक टेबल से दूसरी टेबल की तरफ जा रही है और इन फॉरेन की जब भी यूज़ होती है तो हमारे पास कुछ-कुछ चीजें भी यूज़ होती हैं जैसे जिस टेबल के अंदर हमारी डिपार्टमेंट आईडी ओरिजिनल प्राइमरी की थी आईडी इस टेबल को हम अपनी पेरेंट टेबल कहते हैं क्या कहते हैं इस टेबल को हम अपनी पेरेंट टेबल कहते हैं और जिस टेबल के अंदर इस एरो की को टू साइडेड हम बना देते हैं और जिस टेबल के अंदर हम अपनी फॉरेन की को यूज कर रहे हैं उस टेबल को हम अपनी चाइल्ड टेबल कह देते हैं तो पेरेंट चाइल्ड रिलेशन जैसे रियल लाइफ के अंदर होता है हमारे पेरेंट्स होते हैं पेरेंट्स के नीचे हमारी दूसरी लेयर आती है जिसमें हम होते हैं तो इस तरीके से यहां से चीजें नीचे की तरफ ट्रांसफर होती है तो जेनेटिक कोड जो होता है पूरा का पूरा नीचे की तरफ अ जो हमारी हायरा की होती है उसमें ट्रांसफर होता है वैसा ही कुछ हमारे एसक्यूएल के अंदर होता है कि हमारी पेरेंट टेबल से प्राइमरी की हमारी चाइल्ड टेबल के अंदर जाकर फॉरेन की बन जाती है तो ये हमारे कांसेप्ट होता है जब भी फॉरेन की इवॉल्व होती है हमारे एसक्यूएल के अंदर पेरेंट एंड चाइल्ड टेबल का जिसको हमें पता होना चाहिए अब नेक्स्ट हम बात करने वाले हैं कैस्केडिंग इन फॉरेन कीज का कैस्केडिंग का बेसिक मतलब ये होता है कि एक जगह अगर चेंज हुआ तो दूसरी जगह भी चेंज होना चाहिए ये होता है कैस्केडिंग का मतलब कि अगर हमारे पास एक टेबल है वैसे यहां पर यह डिलीट होना चाहिए ऑन डिलीट कैस्केड और यह मेरा ऑन अपडेट ट कैस्केड होना चाहिए तो एक छोटा सा चेंज है जो आप कर सकते हैं तो लेट्स सपोज एक हमारे पास डिपार्टमेंट्स की टेबल थी और एक हमारे पास हमारे टीचर्स की टेबल थी अगर टीचर की टेबल में हमारे पास कुछ डिपार्टमेंट आईडी है जो यहां से एक फॉरेन की का रिलेशनशिप फॉलो कर रही है तो कल को अगर डिपार्टमेंट में कोई इंग्लिश डिपार्टमेंट या कोई हिंदी डिपार्टमेंट अगर डिलीट हो गया तो हम चाहते हैं टीचर के अंदर भी वो डिलीट हो पाए या अगर यहां से कल को हमारा डिपार्टमेंट अपडेट हो गया आज को उस डिपार्टमेंट का नाम है आईटी डिपार्टमेंट कल को उसका नाम चेंज होके कंप्यूटर साइंस हो गया तो हम चाहते हैं वो अपडेशन यहां पर भी हो तो इस तरीके से अगर हम अपडेशन या डिलीट को कैस्केड कराना चाहते हैं थ्रू फॉरेन कीज तो उसके लिए जब भी हम फॉरेन कीज को डिफाइन करते हैं तो हम फॉरेन कीज के साथ हम जैसे लिखते हैं फॉरेन की कोर्स आईडी रेफरेंसेस कोर्स इन आईडी तो उसके साथ हम ऑन डिलीट कैस्केड एंड ऑन अपडेट कैस्केड भी लिख सकते हैं तो उससे क्या होगा अगर हम कल को डिलीट करेंगे तो डिलीट करने की वजह से पुराने अगर डिपार्टमेंट डिलीट हुआ है तो वो रोज हमारे टीचर भी उस डिपार्टमेंट के साथ के साथ डिलीट हो जाएंगे ऑन अपडेट कैस्केड से क्या होगा कल को अगर किसी डिपार्टमेंट का नाम अपडेट हो गया तो हमारी टीचर टेबल में भी उस डिपार्टमेंट के अंदर जो जो अपडेशंस होंगे वो फॉरेन की के थ्रू डिस्प्ले होकर दिखाई देंगे तो बेसिकली यहां पर जो हमने ये अपनी टीचर टेबल के अंदर अपनी फॉरेन की डिफाइन की है इसके साथ इस लाइन के बाद हमें लिखना होता है ऑन अपडेट कैस्केड और नेक्स्ट लाइन में लिख सकते हैं ऑन डिलीट कैस्केड इसे कैस्केड कर देते हैं तो बेसिकली अगर डिपार्टमेंट टेबल में कोई चेंजेज आएंगे तो हमारी टीचर टेबल के अंदर भी इस फॉरेन की के अंदर वो चेंजेज रिफ्लेक्ट होनी चाहिए पर कुछ कुछ केसेस ऐसे हो सकते हैं जिसमें हमें वो चेंजेज रिफ्लेक्ट ही नहीं कराने तो उस केस में इनको लिखना जरूरी नहीं है पर जहां हमें चाहिए कि पुराने के अंदर चेंजेज हुए तो नए के अंदर भी चेंस होनी चाहिए तो उस केस में हम कैस्केडिंग का यूज करते हैं जैसे इसका एक एग्जांपल देख सकते हैं हम क्या करेंगे डिपार्टमेंट के अंदर कुछ डाटा इंसर्ट कर देते हैं इंसर्ट इनटू डिपार्टमेंट अपनी कुछ वैल्यूज हम इंसर्ट करते हैं वैल्यूज के अंदर एक तो आईडी दे देंगे 101 इसको हम इंग्लिश कह देते हैं और 102 इसको हम कह देते हैं आईटी तो हमने कुछ वैल्यूज इंसर्ट कर दी डिपार्टमेंट के अंदर इसको कर लेते हैं रन हम चाहे तो अपने डिपार्टमेंट को देख भी सकते हैं सिलेक्ट ऑल फ्रॉम डिपार्टमेंट इसको एग्जीक्यूट कर लेते हैं तो अभी डिपार्टमेंट के अंदर यह दो रोज हमारे पास आ गई उसी तरीके से हम चाहे तो टीचर्स के अंदर भी डाटा को इंसर्ट कर सकते हैं इंसर्ट इनटू टीचर वैल्यूज क्या वैल्यूज इंसर्ट करेंगे र की आईडी आ जाएगी एक तो हमारे पास उसके अलावा टीचर का नाम आ जाएगा लेट्स कॉल देम एडम एंड अपने डिपार्टमेंट की आईडी आ जाएगी डिपार्टमेंट लेट्स गिव इट 10 एंड 102 है तो एडम को हम ईव कर देते हैं इसे 102 डिपार्टमेंट का टीचर बना देते हैं एंड इस तरीके से तो इसको भी हम कर लेते हैं वैल्यूज को इंसर्ट इंसर्ट की तो यहां पर भी एक क्वेरी चला सकते हैं सेलेक्ट ऑल फ्रॉम टीचर कर लिया एग्जीक्यूट किया तो यह हमारे टीचर्स आ गए और ये इनकी डिपार्टमेंट आईडी आ गई अब हम चाहे कि कल को हमारी जो डिपार्टमेंट आईडी है आईटी की डिपार्टमेंट आईडी चेंज होकर 103 हो जाएगी कैसे हो जाएगी अपडेट अच्छा वैसे उसके लिए एक और चीज हमें करनी पड़ेगी क्योंकि टीचर टेबल को हम ऑलरेडी बना चुके थे विदाउट कैस्केडिंग तो इस टेबल को हमें दोबारा से रीक्रिएट करके देखना पड़ेगा उसको एक बार करते हैं ड्रॉप टेबल टीचर हम एक बार करते हैं इससे क्या हुआ टेबल ड्रॉप हो गई टीचर अब दोबारा से अपनी नई टेबल क्रिएट करते हैं टीचर नाम से टेंशन वाली ज्यादा बात नहीं है कोड हमने ऑलरेडी सारा लिखा हुआ है और टीचर के अंदर डाटा ऐड कर देते हैं वेरीफाई कर लेते हैं टीचर टेबल बनी क्या यह बन गई हमारी टीचर टेबल एंड इसके अंदर डाटा भी आ गया तो ऑल गुड एंड अब क्या करेंगे अब अपने इंग्लिश डिपार्टमेंट के अंदर या आईटी डिपार्टमेंट का हम कोड चेंज करके आईडी चेंज करके इसको 103 कर देते हैं तो हम यहां पर कर सकते हैं अपडेट डिपार्टमेंट सेट आईडी इक्व 103 वेयर आईडी = 102 इस तरीके से एक अपडेट स्टेटमेंट हमने सेट कर दी एग्जीक्यूट कर दी और अब डिपार्टमेंट का सारा का सारा डाटा देखेंगे तो डाटा के अंदर हमारे पास है अब आईटी डिपार्टमेंट की आईडी 103 के इक्वल वही सेम चीज हम टीचर के लिए चेक कर सकते हैं टीचर्स के अंदर क्या हुआ इवन दो टीचर वाली टेबल के अंदर हमने कोई चेंज नहीं किया फिर भी क्या हुआ ईव के लिए जो डिपार्टमेंट आईडी थी ऑलरेडी 102 थी अब वो डिपार्टमेंट आईडी चेंज होकर खुद से थ हो गई है कल को अगर हम चाहे कि हमारा जो यह डिपार्टमेंट है लेट्स कॉल इट इंग्लिश डिपार्टमेंट इंग्लिश डिपार्टमेंट की आईडी अभी 10 है कल को ि हो जाए ये चीज कर लेते हैं इंग्लिश डिपार्टमेंट की आईडी 1 हो गई देखते हैं डिपार्टमेंट के अंदर चेंज आया क्या डिपार्टमेंट के अंदर चेंज आ गया इंग्लिश डिपार्टमेंट की आईडी 11 हो गई है वही सेम चेंज टीचर के अंदर ऑटोमेटिक आ गया होगा इसको सिलेक्ट करके एग्जीक्यूट करेंगे तो यह क्या हुआ एडम जो इंग्लिश डिपार्टमेंट में था उनकी आईडी ऑटोमेटिक चेंज हो गई टू 111 तो इस तरीके से चेंजेज क्या गए खुद कैस्केड हो गए कैस्केड होने का मतलब एक जगह चेंज हुआ तो दूसरी जगह हमें खुद से जाके अलग से नहीं करना पड़ा खुद से चेंज रिफ्लेक्ट हो गया तो इस तरीके से फॉरेन कीज जहां भी होती है यूजुअली हम कैस्केडिंग लगाते हैं क्योंकि कई बार कैस्केडिंग की जरूरत पड़ती है हो सकता है हमारे पास एंप्लॉयज हो जो अलग-अलग डिपार्टमेंट में हो कोई फाइनेंस डिपार्टमेंट में कोई अकाउंटिंग या फाइनेंस के अंदर ही अकाउंटिंग डिपार्टमेंट आ गया कोई किसी दूसरे डिपार्टमेंट में सेल्स डिपार्टमेंट में कोई एचआर डिपार्टमेंट में है कल को डिपार्टमेंट के अंदर कुछ भी चेंजेज हो सकते हैं डिपार्टमेंट का मैनेजर चेंज हो गया तो हर व्य जो उस डिपार्टमेंट में था उनके लिए मैनेजर की आईडी भी चेंज हो जाएगी या मैनेजर का नाम भी चेंज हो जाएगा तो इस तरीके से जहां भी फॉरेन कीज यूज़ होती है वहां हमें हमेशा कैस्केडिंग के बारे में एक बार सोचना जरूर चाहिए अब नेक्स्ट हम बात करने वाले हैं और अपनी टेबल रिलेटेड क्वेरीज के बारे में जिसमें से हमारी ऑल्टर क्वेरी आ जाती है ऑल्टर कमांड का काम होता है टू चेंज द स्कीमा स्कीमा हमने ऑलरेडी बात की हुई है स्कीमा क्या होता है हमारा डिजाइन होता है हमारी टेबल कार्ड डिजाइन यानी हमारे कॉलम्स कौन-कौन से हैं प्लस उन कॉलम्स के डेटा टाइप कौन-कौन से हैं प्लस उन कॉलम्स के ऊपर क्या-क्या हमने कंस्ट्रेंट्स लगा रखे हैं तो बेसिकली कॉलम से रिलेटेड सारी की सारी चीजें हमारी स्कीमा के अंदर आ जाती है तो जब भी हमें अपने टेबल के कॉलम्स के अंदर उसके स्कीमा उसके बेसिक डिजइन के अंदर चेंजेज करने होते हैं हम ऑल्टर कमांड का यूज करते हैं अब ऑल्टर कमांड को यूज करने से पहले अपनी जो पुरानी ये जो डिपार्टमेंट एंड टीचर टेबल है इनको यहां से हटा लेते हैं स्टूडेंट को रख लेते हैं डिपार्टमेंट जो अभी हमने फॉरेन की के लिए सीखी इन सब को यहां से हटा लेते हैं तो यह हमारी स्टूडेंट टेबल थी ये हमारा स्टूडेंट का डाटा था एंड यहां से हम स्टूडेंट के डाटा को सेलेक्ट कर सकते हैं तो इतनी क्वेरीज को हम रख लेते हैं एंड अब हमारी फाइल थोड़ी सी क्लीन हो गई है अब अपने ल्टर के बारे में बात करते हैं तो ऑल्टर से हम अपनी स्कीमा को चेंज कर सकते हैं और ल्टर के कई सारे डिफरेंट डिफरेंट यूसेज होते हैं सबसे पहला काम होता है ल्टर का टू ऐड अ कॉलम लेट्स सपोज हमने अपनी ऑलरेडी कोई स्टूडेंट टेबल बना ली है और उसके अंदर हमें कोई नया कॉलम ऐड करना है हो सकता है हमारे पास कल को रिक्वायरमेंट आ जाती है कि हमें एज नाम का एक कॉलम ऐड करना है जिसके अंदर कोई ना कोई इंटी जर वैल्यू स्टोर करानी है तो उसके लिए हम लिख सकते हैं ल्टर टेबल अपनी टेबल का नाम ऐड कॉलम और फिर अपने कॉलम का नाम और उस कॉलम का क्या डाटा टाइप होगा साथ में अगर कोई कंस्ट्रेंट है नॉट नल जैसा प्राइमरी की जैसा फॉरेन की जैसा तो उन कंस्ट्रेंट्स को भी हम डिफाइन कर सकते हैं तो एक बार अपनी स्टूडेंट टेबल के अंदर एज ऐड करके देखते हैं तो हम लिखेंगे ऑल्टर टेबल स्टूडेंट उसके अंदर हम ऐड कर देंगे अपना कॉलम एज नाम का कॉलम होगा एंड इसको हम टाइप देंगे इंट इसको कर लेते हैं सिलेक्ट एंड एग्जीक्यूट तो अब अब अपनी टेबल का डाटा देखते हैं तो टेबल के अंदर एक और एज नाम का पूरा का पूरा कॉलम ऐड हो गया और उसके अंदर अभी सारी की सारी वैल्यूज क्या है नल वैल्यूज हैं मतलब अभी कुछ भी वैल्यू उसके अंदर आई नहीं है इसके अलावा हमारे पास एक और कमांड होती है टू ड्रॉप कॉलम ड्रॉप कॉलम यानी उस कॉलम को हम डिलीट भी कर सकते हैं तो हम लिखते हैं अल्टर टेबल टेबल का नाम ड्रॉप कॉलम और फिर अपने कॉलम का नाम तो इस एज कॉलम को अगर मुझे डिलीट करना है तो आई कैन सिंपली राइट ड्रॉप कॉलम और फिर अपने कॉलम का नाम इसको सेलेक्ट कर लेते हैं एग्जीक्यूट करते हैं और इस बार हम अपनी स्टूडेंट टेबल को देखेंगे तो उसके अंदर अब एज नाम का कोई कॉलम एजिस्ट नहीं करता ऐसे ही हमारे पास एक रिनेम टेबल भी होता है जिससे हम अपनी टेबल का नाम चेंज कर सकते हैं तो वी कैन ऑल्टर टेबल टेबल नेम रिनेम टू और अपनी टेबल का कोई नया नाम हम सेट कर सकते हैं साथ के साथ हमारे पास चेंज कॉलम भी होता है अगर हमें किसी कॉलम के नाम को चेंज करना है या उसके डेटा टाइप को चेंज करना है कुछ और चीज चेंज करनी है तो उसके लिए लिख सकते हैं ल्टर टेबल टेबल नेम और फिर चेंज कॉलम अपने कॉलम का पुराना नाम लिखते हैं फिर उसका नया नाम लिखते हैं उस कॉलम का नया डेटा टाइप लिखते हैं उस कॉलम के फिर कुछ नए कंस्ट्रेंट्स लिखते हैं लेट्स सपोज अगर हमें पुराना ही डटा टाइप चाहिए जैसे अगर हमारे पास आज है आईडी और हम उसको स्टूडेंट आईडी बनाना चाहते हैं तो हम यहां आईडी लिख सकते हैं यहां स्टूडेंट आईडी लिख सकते हैं और टाइप हमें वही रखना है तो दोबारा से हमें सेम टाइप को यहां पर लिखना पड़ेगा इसके साथ-साथ हमारे पास मॉडिफाई कॉलम भी होता है जो हमारे किसी भी पुराने कॉलम के डेटा टाइप या कंस्ट्रेंट को मॉडिफाई करने के काम आता है हम लिखते हैं ल्टर टेबल टेबल नेम देन मॉडिफाई एंड अपने कॉलम का नाम फिर उसका नया डेटा टाइप फिर उसका नया कंस्ट्रेंट तो ये डिफरेंट डिफरेंट क्वेरीज हमारे पास होती हैं ऑल्टर टेबल से रिलेटेड एक बार इनके ऊपर यह सैंपल क्वेरी हम रन करके देखने वाले हैं सबसे पहले अपनी स्टूडेंट टेबल के अंदर हम एज नाम का एक कॉलम क्रिएट करेंगे जो इंटी जर एंड नॉट नल टाइप का होगा और किसी स्टूडेंट के अगर एज की वैल्यू नल है तो उसके लिए बाय डिफॉल्ट हम चाहते हैं इस वैल्यू सेट हो जाए टू 190 तो ये जो नॉट नल है ये कंस्ट्रेंट भी हमने ऑलरेडी पढ़ा हुआ है डिफॉल्ट जो है ये कंस्ट्रेंट भी हमने ऑलरेडी पढ़ा हुआ है तो एक बार इन्हें अप्लाई करते हैं हम लिखेंगे ऑल्टर टेबल ऐड कॉलम हम एज नाम का कॉलम ऐड करेंगे इंट और इसे कर देंगे नॉट नल एंड इसके लिए हम अपनी डिफॉल्ट वैल्यू सेट कर देंगे टू 19 तो सारे के सारे स्टूडेंट्स की की जो एज है बाय डिफॉल्ट 19 हो जाएगी एग्जीक्यूट की अपनी स्टूडेंट टेबल का डाटा देखते हैं ये हमारे पास आ गया सारे स्टूडेंट्स की अब एज आ गई है और सब की एज इक्वल है व्हिच इज इक्वल टू 19 नेक्स्ट हम मॉडिफाई करने वाले हैं अभी तक हमने एज क्या किया था एज को इंटी जर टाइप का सेट किया था अब हम इस एज को चेंज करके सेट करने वाले हैं वरकर टाइप का जिसके अंदर दो ही कैरेक्टर्स आ सकते हैं तो लेट्स डू इट यहां पर हम मॉडिफाई कर देंगे अपने कॉलम को मॉडिफाई कॉलम एज एंड उसे अब हम सेट कर देंगे टू वरकर ऑफ साइज टू इसको सेलेक्ट कर लेते हैं एग्जीक्यूट करते हैं अब स्टूडेंट्स को सेलेक्ट करेंगे तो चेंज एज सच कोई एरर आएगा नहीं एरर इसलिए नहीं आया क्योंकि सबके अंदर ऑलरेडी 19 था जो अलाउड वायर कैर के अंदर है पर इस बार अगर हम कोशिश करेंगे कि हम किसी नए स्टूडेंट का डाटा ऐड कर रहे हैं लेट्स सपोज हम इंसर्ट इनटू स्टूडेंट कर रहे हैं सम वैल्यूज और कौन-कौन सी वैल्यूज हम इंसर्ट करना चाहते हैं हम आईडी या रोल नंबर ऐड करना चाहते हैं स्टूडेंट का उसके अलावा हम नेम ऐड करना चाहते हैं स्टूडेंट का और एज ऐड करना चाहते हैं इसके अलावा मार्क्स को शायद हमने नॉट नल किया था तो हम मार्क्स को भी साथ में हमें ऐड करना पड़ेगा तो वैल्यूज के अंदर लेट्स सपोज रोल नंबर 107 आता है कल को उसका नाम कुछ भी हो सकता है लेट्स कीप इट बॉब बॉब नाम का स्टूडेंट आ रहा है या गार्गी नाम की स्टूडेंट आ रही है एंड इसके लिए फिर हम साथ में मार्क्स सेंड कर रहे हैं लेट्स सपोज शी स्कोर्ड 68 मार्क्स एंड एज हम सेट कर रहे हैं अब एज वैसे तो वेरिएबल कैरेक्टर्स टू के अंदर आ सकती है पर यहां पर स्टूडेंट डाटा की जगह लेट्स सपोज हमारा बैंक का डेटाबेस होता तो बैंक के अंदर तो किसी भी व्यक्ति की कोई भी एज हो सकती है और कल को अगर कोई बहुत बूढ़ी एज का व्यक्ति आकर अपना बैंक अकाउंट खुलवा है तो उस केस में हो सकता है हमें एज 100 ऐड करनी पड़ जाए अब 100 ऐड करनी पड़ जाए तो यहां तो हमने वायर कार ऑफ साइज टू सेट किया है तो इस केस में हमारे पास एरर आ जाएगा और हम इस डाटा को यहां पर ऐड नहीं कर पाएंगे क्योंकि हमने स्टूडेंट की एज 100 दे दी जो हमारे डाटा से बाहर जा रही है तो इसको एग्जीक्यूट करेंगे यहां पर क्या आ गया एरर आ गया एरर में आया हमारे पास डटा टू लॉन्ग फॉर कॉलम एज तो यहां पर वर कैर के अंदर ये चीज कर आना पॉसिबल नहीं है जबकि अगर ये एज जो है एज का टाइप अगर हमारे पास इंटी जर होता तो फिर हम ये चीज कर सकते थे तो हम क्या करेंगे उस टाइप को मॉडिफाई करेंगे मॉडिफाई करने के लिए हम अपनी चेंज कॉलम को यूज करेंगे एक तो हम अपने एज को चेंज कर देंगे टू स्टूडेंट एज तो उससे नाम चेंज हो जाएगा और उसको टाइप चेंज कर देंगे टू इंटी जर तो इसको कर देते हैं ऑल्टर टेबल हमारी स्टूडेंट टेबल इसे कर देते हैं चेंज एज का नाम चेंज कर देते हैं टू स्टूडेंट एज एंड उसका टाइप भी हम साथ के साथ च चज कर सकते हैं इसको एक बार एग्जीक्यूट कर लेते हैं एग्जीक्यूट किया तो सारी की सारी स्टूडेंट टेबल के अंदर अब क्या हुआ स्टूडेंट एज बन गया एज एंड नाउ ये जो टाइप है ये हो गया इंटी जर टाइप का इस बार हम चाहे तो इस स्टूडेंट की वैल्यू को एग्जीक्यूट कर सकते हैं एज की जगह हमें यहां पर स्टूडेंट एज अब सेट करना पड़ेगा तो इस बार सक्सेसफुली हमारा डाटा एंटर हो गया इसको चेक करेंगे तो इस बार स्टूडेंट एज आ गई एंड एक स्टूडेंट की एज हमारे पास काफी ज्यादा है व्हिच इज इक्वल टू 100 एंड जहां हमने सिटी या ग्रेड नहीं दिया वहां पर ऑटोमेटिक हमारे पास नल वैल्यू सेट होगी हो गई तो इस तरीके से हम इंसर्ट कर सकते हैं वैल्यूज को चेंज कर सकते हैं इसके अलावा हमारे पास ड्रॉप कॉलम भी होता है जिससे हम किसी भी कॉलम को डिलीट कर सकते हैं तो स्टूडेंट एज को डिलीट कर लेते हैं यह भी हटा देते हैं यहां से यहां पर लिख देते हैं ड्रॉप कॉलम स्टूडेंट एज सिलेक्ट करके करेंगे एग्जीक्यूट तो अब सारे के सारे स्टूडेंट टेबल को चेक करेंगे तो अब ए यहां से डिलीट हो गई पर जो हमने गर्गी स्टूडेंट ऐड की थी उसके लिए सारी की सारी डिटेल्स ऑलरेडी अवेलेबल है एंड हम चाहे तो अपनी टेबल का नाम भी चेंज कर सकते हैं तो अपनी टेबल को रिनेम कर सकते हैं फ्रॉम स्टूडेंट टू स्टू ल्टर टेबल स्टूडेंट यहां हम लिख सकते हैं रिनेम टू स्टू तो टेबल का नाम हमारे पास चेंज हो जाएगा नाम चेंज हुआ तो यहां पर रिफ्रेश कर लेंगे स्कीमा के अंदर रिफ्रेश किया तोब स्टूडेंट टेबल नहीं दिख रही सिर्फ टू टेबल हमारे पास अवेलेबल है इसे दोबारा से हम चाहे तो चेंज कर सकते हैं टू से दोबारा स्टूडेंट बना लेते हैं एग्जीक्यूट कर लिया दोबारा हमने रिफ्रेश किया तो अब दोबारा से स्टूडेंट टेबल हमारे पास आ गई तो इस तरीके से हमारी ऑल्टर टेबल काफ़ी यूज़फुल क्वेरी होती है जिसको हम बार-बार बार-बार रन करके कई सारे डिफरेंट ऑपरेशंस परफॉर्म करते हैं अपनी टेबल के ऊपर नेक्स्ट हम एक और टेबल रिलेटेड क्वेरी पढ़ेंगे जिसका नाम है ट्रंकेट्स के लिए हम लिखते हैं ट्रंकटिंग का नाम अब इससे पहले एक हमने क्वेरी पढ़ी थी अपनी ड्रॉप टेबल की एंड अब हम बात कर रहे हैं ट्रंकड की दोनों के अंदर डिफरेंस हो होता है ड्रॉप क्या करता है ड्रॉप तो टेबल को ही डिलीट कर देगा इट डिलीट्स द टेबल जबकि ट्रंकेटेड डाटा को डिलीट करता है तो ड्रॉप टेबल को डिलीट करता है ट्रंक टेबल के डाटा को डिलीट करता है टेबल फिर भी एजिस्ट करती है हम चाहे तो उसके अंदर नया डाटा ऐड कर सकते हैं तो एक बार इस पूरी टेबल का डाटा डिलीट करके देखते हैं इसे करते हैं ट्रंकेट्स क्यूट एग्जीक्यूट हो गई एंड अब यहां से अब स्टूडेंट टेबल को देखते हैं तो टेबल अभी भी आ रही है पर उसके अंदर कोई डटा नहीं है सारी नल वैल्यूज हैं हम चाहे तो अपने पुराने डाटा को बिल्कुल रीइंसर्ट कर सकते हैं रीइंसर्ट कर लिया हमने डटा तो अब सेलेक्ट करेंगे ऑल फ्रॉम स्टूडेंट तो क्या हुआ सारा डाटा हमारे पास वापस आ गया तो जब भी हमें टेबल का डेटा डिलीट करना होता है हम ड्रॉप टेबल नहीं करते हम ट्रंक टेबल क्वेरी का यूज़ करेंगे अब नेक्स्ट हम सॉल्व करने वाले हैं अपना एक प्रैक्टिस क्वेश्चन तो होप फुली ये प्रैक्टिस क्वेश्चन हमें कांसेप्ट को रिवाइज करने में हेल्प करेगा हमें अभी लेक्चर को पॉज करना है और खुद से एक बार प्रैक्टिस क्वेश्चन को सॉल्व करने की कोशिश करनी है और फिर अपने आंसर को आकर देखना है तो सबसे पहले हमें क्या करना है इन द स्टूडेंट टेबल पार्ट ए हमें कह रहा है चेंज द नेम ऑफ कॉलम नेम टू फुल नेम यानी हमारी जो स्टूडेंट टेबल है उसके अंदर जो हमारा नेम नाम का कॉलम है उसका नाम चेंज करके हमें उसे फुल नेम करना है तो हमने ऑलरेडी पढ़ा है कि जब भी हमें किसी भी कॉलम के नाम को रिनेम करना होता है तो उसके लिए हम अपनी चेंज का यूज करते हैं यानी ऑल्टर टेबल क्वेरी के अंदर कमांड के अंदर हम अपनी चेंज का यूज करते हैं तो वो चीज करके देखते हैं हम लिखेंगे ऑल्टर टेबल हमें कौन सी टेबल को चेंज करना है स्टूडेंट टेबल को उसके अंदर हम करने वाले हैं चेंज अपने नेम को हम चेंज करने वाले हैं टू फुल नेम और साथ के साथ हमें फुल नेम का प्रॉपर एक डेटा टाइप देना पड़ेगा तो फुल नेम को हम उसी टाइप का रखेंगे यानी वरकर 50 टाइप का रखेंगे जो हमने अपनी स्टूडेंट टेबल के शुरुआत में रखा था तो इसको कर लेते हैं सिलेक्ट एंड चेंज अब हम अपनी स्टूडेंट टेबल को खोलेंगे सिलेक्ट ऑल तो यहां पर नेम की वैल्यू चेंज हो चुकी है टू फुल नेम नेक्स्ट क्वेरी पर आ जाते हैं नेक्स्ट क्वेरी हमें कह रही है ट ऑल द स्टूडेंट्स हु स्कोर्ड मार्क्स लेस दन 80 यानी जिसने 80 से कम मार्क्स स्कोर किए उन सारे स्टूडेंट्स का हमें डटा डिलीट करना है तो उसके लिए हम लिखेंगे अपनी डिलीट कमांड तो डिलीट फ्रॉम स्टूडेंट टेबल वेयर मार्क्स इज लेस दन 80 तो जिन जिन स्टूडेंट्स के मार्क्स लेस दन 80 होंगे उन सबका डाटा डिलीट हो जाएगा इसको एग्जीक्यूट करेंगे एंड अब स्टूडेंट टेबल को चेक करेंगे इसके अंदर सारे स्टूडेंट्स के मार्क्स अब जो अवेलेबल है वो सबके मार्क्स अभी 80 प्लस अवेलेबल है थर्ड पार्ट पर आ जाते हैं डिलीट द कॉलम फॉर ग्रेड्स यानी हमारा जो ग्रेड्स वाला कॉलम है इसे हमें ड्रॉप करना है तो ड्रॉप करने के लिए हम अपनी ऑल्टर टेबल को यूज करेंगे स्कीमा के अंदर क्योंकि चेंजेज कर रहे हैं हम ऑल्टर टेबल स्टूडेंट ड्रॉप कॉलम एंड अपना ग्रेड नाम का कॉलम हम ड्रॉप कर देंगे इसको कर लेते हैं सिलेक्ट रन सक्सेसफुली एग्जीक्यूट हो गया अब स्टूडेंट टेबल को अगर चेक करेंगे तो अब हमारे पास ये सारे के सारे कॉलम्स है इसके अंदर ग्रेड अवेलेबल नहीं है और हमारी फाइनल स्टूडेंट टेबल कुछ इस तरीके की दिखाई देती है तो अभी तक हमने काफी सारे कांसेप्ट पढ़ लिए अपने एसक्यूएल के अंदर अब नेक्स्ट हम एक और इंपोर्टेंट टॉपिक पढ़ेंगे जिनको हम कहते हैं एसक्यूएल जॉइंट्स नेक्स्ट हम पढ़ने वाले हैं एसक्यूएल के अंदर जॉइंट्स के बारे में अब जॉइंट्स को हम यूज़ करते हैं किसी भी दो या मल्टीपल टेबल्स के डाटा को कंबाइन करने के लिए जैसे लेट्स सपोज हमारे पास दो टेबल्स हैं एक हमारे पास टेबल है जिसमें हम अपने एंप्लॉयज का डाटा स्टोर करते हैं तो इस टेबल का नाम है हमारे पास एंप्लॉई हर एंप्लॉई की आईडी है हर एंप्लॉई का हमारे पास नाम है और एक और डाटा है जिसके अंदर हम अपनी सैलरी का डाटा स्टोर करते हैं टेबल के अंदर इस टेबल के अंदर हमारे पास दो कॉलम्स हैं एक कॉलम के अंदर हमारे पास आईडी है हमारे एंप्लॉई की आईडी और हर एंप्लॉई की हमारे पास सैलरी है अब लेट्स सपोज हमारे पास इस टेबल के अंदर 101 है 102 है इस टेबल के अंदर हमारे पास 102 है 103 है तो लेट्स सपोज हमारी एक ये टेबल है एंप्लॉयज की और एक ये टेबल है सैलरी की हमें चाहिए कि दोनों टेबल्स के अंदर जिन-जिन एंप्लॉयज की डिटेल्स हैं सिर्फ उनकी इंफॉर्मेशन सारी की सारी हमें मिलनी चाहिए जैसे यहां पर 102 वाला एंप्लॉई है यहां पर भी 10 ट वाला एंप्लॉई है तो इस एंप्लॉई की हमें आईडी तो मिल ही जाए साथ के साथ नेम एंड सैलरी सारी इंफॉर्मेशन मिल जाए तो इन दोनों टेबल्स को हम जॉइन कर सकते हैं जॉइन करना मतलब कंबाइन कर सकते हैं जोड़ सकते हैं और कॉमन इंफॉर्मेशन इनसे निकाल सकते हैं या अलग-अलग तरीके की इंफॉर्मेशन इनसे हम निकाल सकते हैं तो बेसिकली जॉइंट्स एंड एसक्यूएल आर यूज्ड टू कंबाइन रोज फ्रॉम टू र मोर टेबल्स बेस्ड ऑन रिलेटेड कॉलम बिटवीन देम तो दोनों टेबल्स का जॉइन लेने के लिए दोनों टेबल्स को जोड़ने के लिए हमारे पास कुछ रिलेटेड कॉमन कॉलम्स होने चाहिए जैसे ये जो आईडी है और ये जो आईडी है ये एक कॉमन कॉलम है अब जॉइन हम उन टेबल्स के साथ भी यूज़ कर सकते हैं जहां पर हमारी फॉरेन की अवेलेबल होती है बाकी जॉइन परफॉर्म करने के लिए फॉरेन की का होना कंपलसरी नहीं है मतलब हो सकता है दो टेबल्स में हमारी सिमिलर इंफॉर्मेशन हो पर वहां पर हमने किसी एक कॉलम को फॉरेन की बनाया हो वो कंपलसरी बिल्कुल भी नहीं है अब हमारे पास मल्टीपल तरीके के जॉइंट्स होते हैं जिनमें से एक होता है हमारा इनर जॉइंट ये यहां पर जो डायग्राम्स दिख रहे हैं इनको हम वेन डायग्राम्स कहते हैं वन डायग्राम्स होप फुली हमने मैथ्स के अंदर पढ़े होंगे मैथ्स के अंदर नहीं भी पढ़े तो कोई बात नहीं वन डायग्राम्स बेसिकली किसी भी जो हमारी रियल लाइफ सिचुएशन होती है उसको डायग्राम फॉर्म में अगर हम इमेजिन करना चाहते हैं अगर हम विजुलाइज करना चाहते हैं तो उसके लिए हम अपने वन डायग्राम्स को यूज़ करते हैं यहां पर जैसे फर्स्ट टाइप का जॉइन जो हम पढ़ेंगे वो होगा हमारा इनर जॉइंट इनर जॉइन का मतलब होता है कि लेट्स सपोज ये हमारी टेबल ए है और ये हमारी टेबल b है अगर हम इस सर्कल को इमेजिन करें कि ये हमारी टेबल ए का पूरा का पूरा डाटा है और ये हमारी टेबल बी का पूरा का पूरा डटा है तो हो सकता है दोनों टेबल्स में बीच में कोई कॉमन डाटा हो जैसे ये हमारी एंप्लॉई वाली टेबल थी जिसमें 102 वाला एंप्लॉई था इसमें भी 02 वाला एंप्लॉई था तो ये क्या है इन दोनों का कॉमन डेटा है कॉमन यानी दोनों टेबल्स के अंदर ये वाला डाटा एजिस्ट करता है तो अगर हमें कभी कॉमन डाटा चाहिए होता है दोनों टेबल्स के अंदर तो हम इनर जॉइन को यूज़ करते हैं और उसके बाद हमारे पास आउटर जॉइंट्स होते हैं आउटर जॉइंट्स के भी तीन अलग-अलग टाइप्स होते हैं एक होता है हमारा लेफ्ट जॉइंट या इसको हम लेफ्ट आउटर जॉइन भी कह सकते हैं लेफ्ट जॉइन हमें वो डाटा देता है जो या तो a टेबल के अंदर है या a टेबल और b टेबल में ओवरलैप कर रहा है पर सिर्फ b टेबल में है और a में नहीं है वैसा डाटा नहीं देगा मतलब अगर इसमें a टेबल हम इसे मान ले और बी टेबल हम इसे मान लें तो हमें 101 102 तो मिलेगा ही और ये वाली 102 की भी इंफॉर्मेशन मिलेगी ये 103 नहीं मिल रहा होगा तो ए टेबल का तो पूरा डाटा आएगा उसी तरीके से राइट जॉइन में हमारे पास राइट वाली जो टेबल होती है राइट साइड है ये ये हमारी लेफ्ट साइड है तो लेफ्ट जॉइन में लेफ्ट साइड वाली टेबल पूरी मिलेगी राइट में राइट साइड वाली पूरी टेबल मिलेगी एंड ओवरलैपिंग एरिया और एक हमारे पास फुल जॉइन होता है या फुल आउटर जॉइन जिसमें हमें दोनों टेबल्स का पूरा का पूरा डाटा कंबाइन होकर मिलता है अब हम एक-एक जॉइन को फुल डिटेल में पढ़ ने वाले हैं सबसे पहले बात करेंगे हम अपने इनर जॉइंट की इनर जॉइंट का काम होता है दैट इट रिटर्न्स रिकॉर्ड्स दैट हैव मैचिंग वैल्यूज इन बोथ टेबल्स यानी ऐसे रिकॉर्ड्स ऐसी रोज ये रिटर्न करेगा जिसमें मैचिंग वैल्यूज हो दोनों टेबल्स के अंदर और इसको लिखने का सिंटेक्स ये रहता है कि सिलेक्ट कॉलम यानी जिस भी कॉलम को हमें सेलेक्ट करना होता है जिस भी कॉलम की हमें इंफॉर्मेशन चाहिए फ्रॉम टेबल ए इनर जॉइन टेबल b यानी यहां पर हमारी जो टेबल ए है उसका हम टेबल ब के साथ इनर जॉइन करने की कोशिश कर रहे हैं तो टेबल ए जो लेफ्ट साइड में आ रही है टेबल बी जो राइट साइड में आ रही है इन दोनों का हम जॉइन करा रहे हैं ऑन यानी किस बेसिस पर जॉइन हो रहा है टेबल ए का कोई एक कॉलम लेंगे और टेबल बी का कोई एक कॉलम लेंगे जहां पर दोनों की वैल्यू सेम होनी हो वहां पर जॉइन होना चाहिए यानी टेबल ए के अंदर भी कोई ऐसा कॉलम होना चाहिए जिसकी वैल्यू हम कंपेयर करेंगे टेबल ब के कॉलम के साथ अब यहां पर क्योंकि इनर जॉइन ऐसा होता है जिसमें कॉमन इंफॉर्मेशन आती है तो इसमें अगर हम टेबल बी को टेबल a के साथ जॉइन कर दें तो भी कोई इशू नहीं आएगा तो भी दोनों डाटा सेम ही हमारे पास आएंगे पर ये लेफ्ट जॉइन और राइट जॉइन में अप्लाई नहीं करता ये सिर्फ इनर जॉइन में अप्लाई करता है क्योंकि यहां पर कॉमन डाटा हमारे पास आ रहा होता है अब इन सारी चीजों का मतलब क्या है एक बार एक एग्जांपल से समझते हैं लेट्स सपोज हमारे पास दो टेबल्स हैं एक है हमारे पास स्टूडेंट टेबल एक है हमारे पास कोर्स टेबल स्टूडेंट टेबल के अंदर डटा है स्टूडेंट आईडी 101 102 103 नाम है सारे के सारे स्टूडेंट्स के और एक कोर्स है जिसके अंदर हमारे पास स्टूडेंट आईडी है मतलब वो सिमिलर आईडी हैं और एक कोर्स का नाम है तो 102 वाली जो स्टूडेंट आईडी है उसके पास इंग्लिश कोर्स है 105 वाले स्टूडेंट के पास मैथ है 103 वाले स्टूडेंट के पास साइंस है एंड इस तरी से तो ये दो टेबल्स हैं और इनमें अभी तक हमारे पास कोई फॉरेन की एज सच नहीं है हम चाहे तो फॉरेन की बना सकते हैं अब जब हम इन दोनों टेबल्स का इनर जॉइन करेंगे यानी जब हम लिखेंगे सिलेक्ट ऑल फ्रॉम स्टूडेंट इनर जॉइन कोर्स यानी ये हमारी एक टेबल हो गई ये हमारी दूसरी टेबल हो गई इसको हम टेबल ए कह सकते हैं इसको हम टेबल बी कह सकते हैं तो हम अपना जॉइन लगा रहे होंगे ऑन स्टूडेंट टेबल के अंदर डॉट स्टूडेंट आईडी तो डॉट हम इसलिए यूज़ करते हैं ताकि हम बता सक कि इस टेबल के अंदर हम इस कॉलम की बात कर रहे हैं तो स्टूडेंट टेबल के अंदर स्टूडेंट आईडी इक्वल टू कोर्स टेबल के अंदर स्टूडेंट आईडी तो जब हमारी ये दोनों स्टूडेंट आईडी सेम होंगी उस बेसिस पर हमें जॉइन करवाना है टेबल्स को तो इससे क्या होगा दोनों टेबल्स के अंदर स्टूडेंट आईडी की वैल्यू जहां पर सेम होगी जहां पर इक्वल होगी जैसे 102 यहां पर सेम है और 103 यहां पर सेम है तो इन दोनों टेबल्स की ये जो पूरी-पूरी रोज हैं ये सारी की सारी रोज का डाटा हमारे पास इस रिजल्ट टेबल में आ जाएगा तो रिजल्ट में हमारे पास स्टूडेंट आईडी तो आएगी हमारे पास नेम भी आएगा उन स्टूडेंट्स का और हमारे पास कोर्सेस भी आएंगे उन स्टूडेंट्स के तो इनर जॉइन का जो रिजल्ट होगा वो ये होगा जिसमें जो ओवरलैपिंग या जो सेम कॉलम्स की वैल्यू होती है उन कॉलम्स के हिसाब से सेम रोज हमारे पास आ जाती है और पूरा का पूरा डटा हमारे पास आता है जैसे लेट्स सपोज यहां पर हमने ऑलरेडी एक कॉलेज नाम का डेटाबेस बनाया हुआ था जिसे हम यूज कर रहे थे उसके अंदर हम एक टेबल बनाते हैं स्टूडेंट जिसके अंदर आईडी है और नेम है इसको एग्जीक्यूट कर लेते हैं और साथ के साथ हम उस टेबल के अंदर कुछ डाटा इंसर्ट करते हैं इसको भी एग्जीक्यूट कर लेते हैं और हम एक टेबल बनाते हैं कोर्स इसको ए क्यूट कर लेते हैं और साथ के साथ हम उस कोर्स के अंदर कुछ डाटा इंसर्ट करते हैं तो इसे भी हम एग्जीक्यूट कर लेते हैं लेफ्ट में जाके हम रिफ्रेश कर सकते हैं तो हमारे पास दो टेबल्स आ गई कोर्स एंड स्टूडेंट हम चाहे तो शुरुआत में दोनों का डाटा भी देख सकते हैं इसे कर लेते हैं सिलेक्ट ऑल फ्रॉम स्टूडेंट यह हमारी पुरानी स्टूडेंट टेबल नहीं है उस पुरानी वाली टेबल को हमने ड्रॉप कर दिया है तो आप भी उसे ड्रॉप कर सकते हैं और यहां कर देते हैं कोर्स तो एक बार स्टूडेंट टेबल को देख लेते हैं यह हमारी पूरी की पूरी स्टूडेंट टेबल है जिसमें स्टूडेंट इंफॉर्मेशन आ गई और यह हमारी पूरी की पूरी कोर्स टेबल है जिसमें हमारे कोर्सेस की इंफॉर्मेशन आ गई अब हमें क्या करना है अब हम दोनों का जॉइन देखना चाहते हैं तो दोनों को जॉइन करने के लिए हम लिख सकते हैं सिलेक्ट ऑल तो फर्स्ट लाइन में हम लिखते हैं सिलेक्ट ऑल फ्रॉम हम अपनी टेबल वन का नाम लिखते हैं यानी हमारी स्टूडेंट टेबल उसके बाद हम लिखेंगे अपने जॉइन का नाम कि हमें कौन सा जॉइन करना है हमें इनर जॉइन परफॉर्म करना है इनर जॉइन कहने का मतलब है जो कॉमन डाटा हो वो हमारे पास आ जाए तो इनर जॉइन हम करना चाहते हैं अपनी टेबल टू के साथ जो है हमारी कोर्स टेबल और किस बेसिस पर नर जॉइन करेंगे कि स्टूडेंट के अंदर जो हमारी आईडी है शुड बी इक्वल टू हमने यहां आईडी नाम दिया है दोनों कॉलम्स को वो कोर्स के अंदर जो आईडी है उसके बराबर होनी चाहिए अब यहां पर ये भी हो सकता था कि कोर्स वाली आईडी को हम कोर्स आईडी कह देते या कुछ और आईडी कह देते और स्टूडेंट वाली आईडी को हम सिर्फ आईडी कहते तो उस बेसिस पर हमें सिर्फ कॉलम का नाम चेंज करना है कोई खास ज्यादा डिफरेंस नहीं आएगा अगर कॉलम्स के नाम अलग-अलग भी होंगे तो जरूरी नहीं है कॉलम्स के नाम सेम हो हमने यहां पर सेम बस ऐसे ही सिंपलीसिटी के लिए ले रखे हैं तो इस इनर जॉइंट को सेलेक्ट करते हैं और और इसे एग्जीक्यूट करते हैं तो एग्जीक्यूट करने से आउटपुट में हमारे पास एक टेबल आएगी इस टेबल में हमें दिखेगा कि हमारे पास स्टूडेंट टेबल के अंदर से यह वाली आईडी आई नेम ये वाले आईडी आई और नेम और वही सेम आईडी हमें कोर्स टेबल के अंदर मिली है जिनके हमारे पास कोर्सेस आ गए तो इस तरीके से इनर जॉइन का जो रिजल्ट रहेगा उसमें हमारे पास कॉमन डाटा एक सिंगल टेबल के अंदर रिजल्ट टेबल के अंदर ये रिजल्ट ग्रेड है इसके अंदर कंबाइन होकर हमारे पास आएगा और अब यहां पर हम चाहे तो एलियस भी यूज कर सकते हैं एलियस क्या होती है एलियस का मतलब होता है अल्टरनेट नेम एलियस तो हम एक तरीके से कह सकते हैं कोई नकली नाम तो इसको हम अल्टरनेट नेम भी कह सकते हैं तो जब भी हमारे पास बहुत सारी टेबल्स होती हैं उनके बड़े-बड़े नाम होते हैं तो हम एलिस यूज कर देते हैं जैसे हम यहां पर लिख सकते हैं फ्रॉम स्टूडेंट एज एस एज एस कहने का मतलब है कि आगे कभी अगर हम एस यूज करेंगे या स्टूडेंट यूज करेंगे तो उसका मतलब सेम ही होगा कि हम स्टूडेंट टेबल की बात कर रहे हैं और कोर्स एज सी तो उसमें चाहे हम कोर्स यूज करें चाहे हम सी यूज करें उसमें हम सेम ही चीज की बात कर रहे हैं तो यहां पर हम लिख सकते हैं s ड आईडी और यहां पर हम लिख सकते हैं c डॉट आईडी तो इन दोनों का मतलब सेम ही होगा मतलब रिजल्ट सेम रहेगा तो बेसिकली जब भी हमारे पास बड़े टेबल के नाम होते हैं तो उसको हम शॉर्ट में कुछ और भी कह सकते हैं तो हमारे पास रिजल्ट सेम आया है व्हिच इज माय इनर जॉइंट हम चाहे तो इसे टेबल वन टेबल टू भी कह सकते हैं हम इन्हें चाहे तो a और b भी कह सकते हैं तो ये a डॉ आईडी हो गया ये हमारा बड आईडी हो गया तो उससे भी हमारे पास सेम ही रिजल्ट आएगा तो इस तरीके से हमारा इनर जॉइन काम करता है जो हमें कॉमन डाटा देता है दो टेबल्स के बीच में अब नेक्स्ट हम बात करने वाले हैं एक और जॉइन की व्हिच इज माय लेफ्ट जॉइन लेफ्ट जॉइन का काम होता है दैट इट रिटर्न्स ऑल रिकॉर्ड्स फ्रॉम द लेफ्ट टेबल एंड द मैच रिकॉर्ड्स फ्रॉम द राइट टेबल यानी लेफ्ट टेबल के ए टेबल के जो रिकॉर्ड्स हैं रोज हैं वो तो मुझे लाकर दे देगा साथ के साथ b के साथ जो डाटा ओवरलैप हो रहा है वो भी मुझे लाकर दे देगा और इसको लिखने का सिंटेक्स होता है सिलेक्ट कॉलम्स फ्रॉम टेबल ए लेफ्ट जॉइन टेबल बी तो हम यहां पर टेबल ए का लेफ्ट जॉइन करा रहे हैं टेबल बी के साथ यहां पर ये चीज ध्यान रखनी है जैसे इनर जॉइन में हम अगर ऊपर b लिख देते नीचे a लिख देते तो चल जाता पर यहां पर वो चीज नहीं चलेगी जो टेबल हमने पहले लिखी है यानी टेबल ए जो हमने पहले लिखी है उसी का पूरा डाटा हमारे पास आ रहा होगा क्योंकि ये हमारी लेफ्ट टेबल बनेगी और जो हमने बाद में लिखी है ये हमारी राइट टेबल बनती है और फिर हम लिख सकते हैं लेफ्ट जॉइन टेबल बी ऑन और फिर अपने कॉलम्स का नाम जिनके बेसिस पर हमें पूरा का पूरा अपना जॉइन करवाना है तो यहां पर एक चीज जरूर ध्यान रखनी है जिस भी टेबल का हमें पूरा डाटा चाहिए उस टेबल को हमें पहले लिखना है फ्रॉम के साथ इसका एग्जांपल देखते हैं एग्जांपल में हमारे पास वही स्टूडेंट और कोर्स टेबल है अगर इस टेबल्स के ऊपर हम अपना लेफ्ट जॉइन परफॉर्म करते हैं तो लेफ्ट जॉइन के अंदर जो हमारा रिजल्ट रहेगा उसमें ये तीन डाटा तो होंगे ही क्योंकि स्टूडेंट टेबल हमने पहले लिखी है ये हमारी लेफ्ट टेबल है और ये हमारी राइट टेबल है तो ये डटा तो होंगे ही तो उस डेटा थे तो 101 102 103 तो आया ही उसके साथ में इसने मैच कर लिया कि यहां पर इस टेबल में कौन-कौन सा डाटा ओवरलैप करता है ओवरलैप में 102 था 103 था 102 का इंग्लिश आ गया यहां पर और 103 का साइंस आ गया यहां पर तो ये पूरा डाटा ओवरलैप वाला तो आया ही प्लस ये लेफ्ट वाला डाटा तो पूरा का पूरा हमारे पास आया और जहां पर ओवरलैप नहीं था जैसे 101 में कोई ओवरलैप नहीं था तो वहां पर हमारे पास नल प्रिंट हो जाएगा तो इस तरीके से हमारा लेफ्ट जॉइन काम करता है इसको एक बार एग्जीक्यूट करते हैं हम यहां पे सिंपली चेंज कर सकते हैं टू लेफ्ट जॉइन इसको सेलेक्ट कर लेंगे रन करेंगे तो ये हमारा लेफ्ट जॉइन का डाटा है जिसमें एडम तो आया ही बॉब आया केसीआई एंड ऊपर इनके लिए नल दिखा रहा है बाकी दोनों के लिए उनके कोर्सेस हमारे पास आ गए अब ऐसे ही हमारे पास राइट जॉइन होता है राइट जॉइन क्या करता है रिटर्न्स ऑल रिकॉर्ड्स फ्रॉम द राइट टेबल एंड द मैच रिकॉर्ड्स फ्रॉम द लेफ्ट टेबल यानी राइट टेबल के तो सारे के सारे रिकॉर्ड्स दे रहे का प्लस मैच्ड रिकॉर्ड्स भी दे देगा दोनों के इसको लिखने के फॉर्मेट में सिर्फ हमें यहां पर लेफ्ट की जगह राइट जॉइन लिखना होता है सिंटेक्स के अंदर तो इसका एग्जांपल देखते हैं ये हमारी स्टूडेंट टेबल है ये हमारी कोर्स टेबल है अब अगर इनके ऊपर हमने राइट जॉइन को परफॉर्म किया तो उससे क्या होगा राइट टेबल का तो पूरा का पूरा डाटा आएगा मतलब 102 भी आएगा फाइव भी आएगा थी भी आएगा सेन भी आएगा 2 5 3 7 और इनके कोर्सेस भी सारे के सारे हमारे पास आएंगे पर टेबल वन से स्टूडेंट टेबल से नाम सिर्फ उन्हीं के आएंगे जो ओवरलैप करते होंगे तो 102 ओवरलैप करता है तो बॉब आएगा तो यहां पर बॉब आ गया 103 ओवरलैप करता है तो केसी आएगा तो यहां पर केसी आ गया और बाकी जगह हमारे पास नल हमें देखने को मिलेगा तो यहां पर कोर्स का हमें पूरा का पूरा डाटा मिलेगा तो यहां लेफ्ट की जगह एक बार राइट जॉइन लगाकर देखते हैं इसको सेलेक्ट करते हैं एग्जीक्यूट तो क्या हुआ पूरा का पूरा राइट जॉइन हो गया यहां पर हमारी फर्स्ट टेबल पहले प्रिंट हुई है क्योंकि उसे हमने पहले लिखा था तो ये हमारी लेफ्ट टेबल बन गई ये हमारी राइट टेबल बन गई फर्स्ट टेबल जो है उसका डाटा पहले प्रिंट हुआ 102 बॉब एंड केसी बाकी सारी वैल्यूज के लिए नल आया बट आईडी सेकंड टेबल की पूरी आई क्योंकि टेबल पूरी आती है राइट जॉइन में और सारे के सारे कोर्सेस हमारे पास आ गए इस तरीके से जब हमारे पास सिचुएशन ऐसी हो कि दो टेबल्स का डाटा चाहिए पर मुझे लेफ्ट वाली का पूरा चाहिए और राइट वाली से सिर्फ उतना ही चाहिए जो ओवरलैप करता हो तो हम लेफ्ट जॉइन को यूज़ करते हैं जब राइट का पूरा चाहिए तो हम राइट जॉइन को यूज़ करते हैं और ऐसे ही हमारे पास एक और जॉइन होता है हमारा फुल जॉइन फुल जॉइन क्या करता है रिटर्न्स ऑल रिकॉर्ड्स व्हेन देयर इज अ मैच इन आइ दर लेफ्ट और द राइट टेबल जब लेफ्ट और राइट दोनों का डाटा चाहिए और मैचिंग भी चाहिए तो उसके लिए हम फुल जॉइन को यूज़ करते हैं अब माय एएल के अंदर फुल जॉइन नाम का अ जो जॉइन स्टेटमेंट होती है कमांड होती है वो एजिस्ट नहीं करती अगर आप ओरेकल जैसे किसी और डेटाबेस के अंदर हैं या पोस्टग्रेस में है तो वहां पर अगर आप फुल जॉइन लिखेंगे इसे हम फुल जॉइन भी कह देते हैं या फिर अगर हम फुल आउटर जॉइन लिखेंगे इनर जॉइन की जगह अगर फुल आउटर जॉइन या राइट जॉइन की जगह फुल आउटर जॉइन फुल जॉइन लिख देते हैं तो ये स्टेटमेंट्स वर्क कर जाएंगी पर माय एसक्यूएल के अंदर हमें एक और तरीका ढूंढना होता है हम माय एएल के अंदर फुल जॉइन परफॉर्म करने के लिए यूनियन का यूज़ करते हैं तो बेसिकली हम क्या करते हैं माय एएल के अंदर क्योंकि फुल जॉइन होता नहीं तो इनडायरेक्टली फुल जॉइन किया जाता है हम लेफ्ट जॉइन ले लेते हैं और हम राइट जॉइन ले लेते हैं और दोनों का हम यूनियन कर देते हैं लेफ्ट जॉइन कहने का मतलब है कि हमारे पास ये पूरा का पूरा ए टेबल और ओवरलैपिंग डाटा आ जाएगा राइट जॉइन कहने का मतलब है कि हमारे पास ये पूरा का पूरा बी टेबल और ओवरलैपिंग डाटा आ जाएगा और यूनियन दोनों का कर दे यूनियन का मतलब होता है जोड़ना चीजों को जोड़ना तो उससे हमारे पास ये पूरा डाटा भी आ जाएगा और ये पूरा डाटा भी आ जाएगा और यूनियन बाय डिफॉल्ट यूनियन को हम बाद में डिटेल में पढ़ेंगे यूनियन बाय डिफॉल्ट हमें सारी यूनिक वैल्यूज देती है तो ऐसा नहीं है ओवरलैप होने वाला डाटा हमें दो बार मिलेगा तो हमारे पास ये वाला डाटा भी आ जाएगा और हमारे पास बी टेबल का भी पूरा डटा आ जाएगा और ओवरलैपिंग डटा भी आ जाएगा विद द हेल्प ऑफ यूनियन तो पहले हम लेफ्ट जॉइन लेते हैं फिर हम राइट जॉइन लेते हैं और दोनों का यूनियन ले लेते हैं तो हमारे पास फाइनली फुल जॉइन निकल कर आता है तो उसके लिए पहले हम अपनी स्टेटमेंट्स लिख सकते हैं लेफ्ट जॉइन की सेलेक्ट ऑल फ्रॉम स्टूडेंट लेफ्ट जॉइन कोर्स ऑन फिर हम यूनियन लिखते हैं फिर हम राइट जॉइन की पूरी की पूरी स्टेटमेंट लिख देते हैं तो इसका भी एग्जांपल देख लेते हैं लेट्स सपोज हमारे पास ये टेबल थी स्टूडेंट टेबल थी कोर्स दोनों के ऊपर पहले हम लेफ्ट जॉइन लेंगे पहले हम राइट जॉइन लेंगे दोनों को कंबाइन करेंगे तो फुल जॉइन कहने का मतलब है कि स्टूडेंट आईडी तो सारी की सारी आई 101 2 3 ये तीनों तो यहां से आई और ये फाइव एंड सेवन हमारे पास राइट से आई सबके नेम्स आ गए जिनके नेम्स हैं उनके नेम आ गए नहीं तो वहां पर नल आ गया और जिनके कोर्स हैं उनके कोर्सेस हमारे पास आ गए बाकी जगह हमारे पास नल आ गया तो ऐसे हमारा फुल जॉइन काम करता है फुल जॉइन करने के लिए यहां पर आ जाते हैं इसे बना लेते हैं लेफ्ट इतना पार्ट हो गया हमारे लेफ्ट जॉइन के लिए यहीं पर नेक्स्ट लाइन में हम यूनियन लिख देते हैं और अब अपना राइट जॉइन करते हैं तो इसको कॉपी करके पेस्ट कर सकते हैं इतना पार्ट हमारा लेफ्ट जॉइन हो गया फिर हमने यूनियन कर दिया फिर हम राइट जॉइन करेंगे राइट जॉइन करने के लिए सिंपली यहां पर कीवर्ड लिख देते हैं राइट और यहां सेमीकलन इसको कर लेते हैं सिलेक्ट एंड एग्जीक्यूट तो ये सारी की सारा डाटा हमारे पास आ गया आईडी के अंदर 102 102 ये 101 102 103 आ गया यहां 105 107 आ गया एडम बॉब केसी जहां नाम था वहां नाम की डिटेल हमारे पास आ गई जहां हमारे पास कोर्सेस थे कोर्सेस की डिटेल्स हमारे पास आ गई एंड आईडी दोनों की हमें सेपरेटली दिखाई देगी तो इस तरीके से हमारा फुल जॉइन काम करता है तो ऐसे हमने अभी तक इनर जॉइन सीख लिया कैसे करते हैं हमने लेफ्ट जॉइन सीख लिया राइट आउटर जॉइन सीख लिया और हमने फुल जॉइन सीख लिया अब नेक्स्ट हम एक एक्टिविटी छोटी सी करने वाले हैं जिसमें हम दो तरीके के और जॉइंट सीखेंगे वैसे जो मेजर जॉइंट्स होते हैं उनको हमने कवर कर लिया पर हमारे कुछ और एक्स्ट्रा जॉइंट्स भी होते हैं जो आ जाते हैं जैसे राइट एसक्यूएल कमांड्स टू डिस्प्ले द राइट एक्सक्लूसिव जॉइंट यहां पर हमें दो जॉइंट्स दिखाए हुए हैं लेफ्ट एक्सक्लूसिव जॉइन एंड राइट एक्सक्लूसिव जॉइन अब लेफ्ट एक्सक्लूसिव जॉइन क्या होता है लेफ्ट जॉइन हमें पता क्या होता है लेफ्ट जॉइन के अंदर अगर ये हमारी a टेबल है और ये हमारी b टेबल है तो ये a टेबल हो गई ये हमारी बी टेबल हो गई लेफ्ट जॉइन का मतलब होता है कि a टेबल का पूरा का पूरा डाटा आ जाए ये हमारा लेफ्ट आउटर जॉइन होता है पर लेट्स सपोज हमें a टेबल का सिर्फ वो डाटा चाहिए जो b के साथ ओवरलैप नहीं करता है सिर्फ a का डाटा है यानी एक्सक्लूसिवली सिर्फ हमारी लेफ्ट टेबल का डाटा है तो उस जॉइन को हम लेफ्ट एक्सक्लूसिव जॉइन करेंगे अब ऐसा कोई डायरेक्ट तरीका नहीं होता लेफ्ट एक्सक्लूसिव जॉइन करने का हम सिंपली क्या करते हैं पहले तो हम लेफ्ट जॉइन ही लेते हैं यानी सिलेक्ट ऑल फ्रॉम स्टूडेंट लेफ्ट जॉइन ऑन कोर्स ऑन दिस इतना पार्ट तो हम सिर्फ लेफ्ट जॉइन करने के लिए करते हैं उसमें बस हम एक कंडीशन लगा देते हैं हमने कंडीशन लगा दी कि जहां b की आईडी नल हो जाए इज नल एक कंस्ट्रेंट होता है हमारा एक कंडीशन होती है इज नल क्या चेक करता है कि b की आईडी जो है वो नल है क्या तो जहां पर b की आईडी नल हो जाए b की आईडी नल कहने का क्या मतलब है कि अगर हम पूरे के पूरे a का लेफ्ट जॉइन लेंगे तो उससे तो वो भी आएंगे जहां पर b की आईडी नॉट नल है और वो भी आएंगे जहां पर b की आईडी नल है पर हमें सिर्फ वो वाले चाहिए जहां पर b की जो आईडी है दैट इज इक्वल टू नल ये ओवरलैपिंग वाले में नॉट नल होती है और नॉन ओवरलैपिंग वाले में नल होती है तो हमें वो वाला हिस्सा चाहिए जिसमें b की आईडी नॉट नल हो इसका एग्जांपल देखते हैं जैसे इनफैक्ट हम अपनी टेबल का डाटा ही यहां पर लिख लेते हैं यहां पर a के अंदर कौन-कौन सा डाटा हमारे पास है अपनी टेबल ए के अंदर टेबल ए के अंदर हमारे पास एडम बॉब एंड केसी या इनके स्टूडेंट आईडी लिख देते हैं 101 102 103 है अब इसमें से 101 कोर्स के साथ ओवरलैप नहीं करता तो 101 यहां पर आएगा जो ये 102 103 है ये कोर्स के साथ ओवरलैप करता है तो कॉमन में 102 103 आएगा और b के अंदर कौन सा आएगा b के अंदर 105 107 आएगा तो ये 105 और 107 हो गया तो जो रोल नंबर ओवरलैप नहीं करते वो यहां पर है जो ओवरलैप करते हैं वो यहां पर है और जो b के अंदर ओवरलैप नहीं करते वो हमारे यहां पर आ गई हम कह रहे हैं हमें सिर्फ ये वाला डाटा चाहिए तो अगर हम इतना लेफ्ट जॉइन कर लेंगे तो हमें ये तीनों डाटा मिल जाएंगे और सिर्फ ये वाला डाटा चाहिए तो उसके लिए हमारे ब की आईडी नल होगी इसको एक बार चेक करके देखते हैं हम शुरुआत से सबसे पहले तो सिर्फ लेफ्ट जॉइन लगाएंगे ये अगर हम टेबल्स के ऊपर लेफ्ट जॉइन लगाते हैं सेलेक्ट करेंगे एग्जीक्यूट किया तो हमारे पास ये डेटा आ गया इस डाटा में 101 एडम है जिसकी आईडी और कोर्स नल आ गए क्योंकि वो ओवरलैप नहीं करता फिर 102 में बॉब एंड केसी आ गए जिनके लिए डाटा एजिस्ट करता है पर हम तो क्या चाहिए हमें तो नॉन ओवरलैपिंग वाला डाटा चाहिए मतलब जि सिर्फ 10 चाहिए तो उसके लिए हम वेयर वाली कंडीशन यूज कर सकते हैं वेयर पड आईडी या इसको कह देते हैं कोर्सड आईडी इ इक्वल टू इज इक्वल टू नहीं यहां पर हम इज नल करेंगे क्योंकि इक्वल टू काम नहीं करेगा नल के लिए कंडीशन चेक करने के लिए तो हम हमेशा इज नल लिखते हैं सिलेक्ट करेंगे एग्जीक्यूट करेंगे तो हमारे पास एरर आया है सीड आईडी अच्छा ये हमारा बीड आईडी ही होगा सिलेक्ट कर लेते हैं एग्जीक्यूट करेंगे तो हमारे पास सिर्फ 10 आया ड यानी वो हिस्सा जो सिर्फ ए के अंदर एक्सक्लूसिवली लेफ्ट के अंदर एजिस्ट करता है तो ये तो हो गया लेफ्ट एक्सक्लूसिव जॉइन ऐसे ही हमारे पास राइट एक्सक्लूसिव जॉइन भी होता है सिर्फ वो वाला हिस्सा जो सिर्फ बी के अंदर एजिस्ट करता है अब ये वाला हिस्सा निकालने के लिए हमारा ये प्रैक्टिस वाला सवाल है तो यहां पर एक बार लेक्चर को पॉज करना है और सोचना है कि खुद से हम कैसे अपना राइट एक्सक्लूसिव जॉइन निकाल सकते हैं और फिर अपने सॉल्यूशन की तरफ बढ़ना है तो राइट एक्सक्लूसिव जॉइन निकालने के लिए हम क्या करेंगे हम पहले राइट जॉइन करेंगे और फिर वो कंडीशन अप्लाई कर देंगे कि a डॉट आईडी जिसके अंदर इज नल हो वो वाले हमें कॉलम्स चाहिए इससे क्या होगा राइट जॉइन करेंगे तो पूरा का पूरा यह वाला सर्कल हमें मिल जाएगा और इसके अंदर यहां पर एक ही आईडी नॉट नल होगी पर हमें तो सिर्फ नल वाली चाहिए तो सिर्फ नल वाली चाहिए तो पहले राइट जॉइन ले लो और फिर यह वाला हिस्सा निकाल लो इज नल के कंपैरिजन से तो उसके लिए कंडीशन लिखते हैं कि हम लिखेंगे सिलेक्ट ऑल फ्रॉम स्टूडेंट एज ए और यहां पर हम राइट जॉइन अप्लाई करेंगे राइट जॉइन कोर्स एज बी ऑन a आडी = b आईडी वेयर a आईडी इज नल तो इतने वाले पार्ट को हम करने वाले हैं और इसको करेंगे एग्जीक्यूट तो अब हमारे पास 105 आ गया 107 आ गया जो हमारे राइट एक्सक्लूसिव जॉइन को फॉर्म करते हैं तो इस तरीके से हम अपना लेफ्ट एक्सक्लूसिव जॉइन भी निकाल सकते हैं राइट एक्सक्लूसिव जॉइन भी निकाल सकते हैं एक और जॉइन हमारे पास होता है इसको हम अपना फुल एक्सक्लूसिव जॉइंट कहते हैं फुल एक्सक्लूसिव जॉइंट यानी आपको सिर्फ ये वाला और सिर्फ ये वाला हिस्सा निकालना है तो यूजुअली हम क्या करते हैं बीच वाला कॉमन हिस्सा निकालते हैं पर हमें कॉमन हिस्सा नहीं चाहिए हमें सिर्फ ए वाला और सिर्फ बी वाला वाला हिस्सा चाहिए तो इतने वाले पार्ट को हम कैसे निकालेंगे यह मैं आपको एज अ होमवर्क प्रॉब्लम दे रही हूं इसके लिए आपको सॉल्व करना है होमवर्क में तो यह हमारे जॉइंट्स थे जिनमें हमने काफी अच्छे से अपने जॉइंट्स के बारे में बात की उन्हें विजुलाइज करके देखा कि कैसे हमारे जॉइंट्स एगजैक्टली काम करते हैं अब हम बात करेंगे एक और जॉइंट के बारे में स्पेशल जॉइंट व्हिच इज माय सेल्फ जॉइंट सेल्फ जॉइन क्या करता है इट इज अ रेगुलर जॉइन ये रेगुलर यानी ये हमारा इनर जॉइन नहीं होता है बट ये दो टेबल्स को कनेक्ट करने की बजाय एक टेबल को उसी के साथ जॉइन करता है यानी हमारे पास अगर एक टेबल है जिसके अंदर कोई डाटा है आईडी और नेम और वही सेम टेबल को हम रिपीट कर दें आईडी और नेम तो उसी टेबल का उसी टेबल के साथ जब हमें जॉइन चाहिए होता है तो उसके लिए हम सेल्फ जॉइन को यूज करते हैं सेल्फ जॉइन के लिए हम सिंपली लिखते हैं सिलेक्ट कॉलम्स फ्रॉम टेबल एज ए तो हम यहां एलियस यूज करते हैं जिनकी हमने बात की थी तो एक बार टेबल को ए कह देंगे एक बार टेबल को बी कह देंगे और इस बार कीवर्ड जो हम यूज करेंगे दैट इज जॉइन नॉट इनर जॉइन नॉट लेफ्ट जॉइन नॉट राइट जॉइन हम सिर्फ जॉइन लिख कर देखते हैं और कौन से कॉलम्स पे अपलाई करेंगे a के अंदर जो कॉलम की वैल्यू बी के अंदर कॉलम की वैल्यू के इक्वल है तो सेल्फ जॉइन कॉम कौन से केसेस में करते हैं उसके लिए एक बार एक एग्जांपल देखते हैं लेट्स सपोज हमारे पास कोई एक टेबल है एंप्लॉई नाम से इस एंप्लॉई टेबल में सारे के सारे एंप्लॉई की इंफॉर्मेशन स्टोर्ड है अब हर एंप्लॉई की हमारे पास आईडी है 10 102 103 104 साथ के साथ हर एंप्लॉई का हमारे पास नेम है एडम बॉब केसी डॉनल्ड और हर एंप्लॉई के मैनेजर की भी आईडी है हमारे पास तो जैसे 101 जो है इसको हम थोड़ा विजुलाइज कर लेते हैं जो एडम है एडम का मैनेजर कौन है एडम का मैनेजर है 103 यानी एडम की मैनेजर है केसी तो हायरा की टाइप यहां पर हम कुछ बना सकते हैं ये केसी है एंड केसी क्या है एडम की मैनेजर है उसके बाद सेकंड पे है हमारे पास बॉब बॉब का मैनेजर कौन है 104 यानी डॉनल्ड है बॉब का मैनेजर तो ये बॉब आ गया तो बॉब के ऊपर हायरा की में हमारे पास डॉनल्ड आ जाता है उसके बाद तीसरा है 103 केसी केसी का कोई मैनेजर नहीं है तो उसके लिए नल है और फोर्थ है 104 डॉनल्ड डॉनल्ड का कौन मैनेजर है 10 103 कौन है केसी तो डॉनल्ड का मैनेजर है केसी तो डॉनल्ड की मैनेजर केसी है तो हायरा की अब कुछ ऐसी हो गई इस तरीके से कि केसी एडम की भी मैनेजर है डॉनल्ड की भी मैनेजर है और बॉब का मैनेजर है डॉनल्ड तो इस तरीके से हमारी एक हायरा की है जिसको हमने मैनेजर आईडी के थ्रू यहां रिप्रेजेंट किया है सबके आगे उनके मैनेजर्स की आईडी लिखी हुई है और हम निकाल सकते हैं कि कौन किसका मैनेजर है तो यहां पर हम सेल्फ जॉइन लगाकर ये इंफॉर्मेशन फाइंड आउट कर सकते हैं विद एसक्यूएल कि कौन से एंप्लॉई का मैनेजर कौन-कौन है यह इंफॉर्मेशन यहां डायरेक्टली नहीं दे रखी सिर्फ मैनेजर की आईडी दे रखी है पर अगर हमें मैनेजर का नाम चाहिए हो तो वह कैसे निकाले तो वो निकालने के लिए हम सेल्फ जॉइन को यूज़ करेंगे जब हम दो टेबल्स को जॉइन करेंगे यानी हमें अगर b ड नेम एज मैनेजर नेम चाहिए और a का सिर्फ नाम चाहिए यानी हम एक नया कॉलम बनाएंगे मैनेजर नाम से मैनेजर नेम नाम से जिसके अंदर b के सारे के सारे नेम्स आएंगे और a के सारे के सारे नेम्स नॉर्मली आएंगे एज नेम्स फ्रॉम एंप्लॉई एज ए जॉइन एंप्लॉई एज बी तो हम a टेबल को b टेबल के साथ जॉइन कर रहे हैं कैसे जॉइन कर रहे हैं सेम जॉइन कर रहे हैं सेम टेबल को जॉइन कर रहे हैं तो इसका मतलब हम सेल्फ जॉइन यूज कर रहे हैं और हम ये कंडीशन अप्लाई कर रहे हैं कि जहां पर भी ए की जो आईडी है वो बी की मैनेजर आईडी के बराबर हो यानी बी टेबल के अंदर जो मैनेजर की आईडी है इसको थोड़ा सा विजुलाइज कर लेते हैं कि ये हमारी एक नई टेबल बन जाएगी इसको सोच लेते हैं कि अंदर एक नई टेबल बन रही है ये a टेबल है ये हमारी एक नई टेबल बन रही है व्हिच इज माय बी टेबल इस टेबल के अंदर कुछ आईडी है कुछ नेम है कुछ मैनेजर आईडी है इस बी टेबल के अंदर भी कुछ आईडी है कुछ नेम है हमारे पास कुछ हमारे पास मैनेजर आईडी है अब हम चाहते हैं जॉइन कैसे हो जहां ए की आईडी बी की मैनेजर आईडी के इक्वल हो जहां ए की आईडी बी की मैनेजर आईडी के इक्वल हो वो कॉमन कॉलम्स हमें मिल जाए तो वो कॉमन चीजें जब हमें मिलेंगी तो वो डाटा हमारे पास प्रेजेंट होकर आ जाएगा तो b से जो डाटा आएगा उसका सिर्फ मैनेजर का नाम लिखवाए और a का जो डाटा होगा उसमें सिर्फ हम नाम लिखवाए तो से रिजल्ट हमारे पास क्या आएगा रिजल्ट में मैनेजर का नाम आएगा एडम डल्ड और नेम आएंगे लोगों के एक बार इसे ट्राई करते हैं अपने सबसे पहले तो इन टेबल्स को हम क्रिएट करेंगे हम अपनी एंप्लॉई टेबल को क्रिएट करने वाले हैं तो वी विल क्रिएट टेबल एंप्लॉई जिसके अंदर इंट प्राइमरी की आ जाएगी नेम वरकर मैनेजर आईडी आ जाएगी और इसके अंदर हम ये सारी वैल्यूज को इंसर्ट करने वाले हैं तो सबसे पहले तो हम क्रिएट टेबल वाली कमांड को एग्जीक्यूट कर लेते हैं यहां से सेलेक्ट करेंगे एग्जीक्यूट हो गई एंड अब यहां से इसको पूरा का पूरा सेलेक्ट करके एग्जीक्यूट कर देते हैं हम चाहे तो अपनी टेबल को प्रिंट भी कर सकते हैं सिलेक्ट ऑल फ्रॉम एंप्लॉई इसको कर लेते हैं सिलेक्ट एंड रन हमारे पास पूरी की पूरी टेबल आ गई हमारे सारे के सारे एंप्लॉई की अब हम इसके ऊपर सेस जॉइन को लगाना चाहते हैं सेस जॉइन लगाने के लिए सबसे पहले तो हम सिलेक्ट ऑल कर लेते हैं अभी के लिए स्पेसिफिक कॉलम्स नहीं सारी चीजें सिलेक्ट कर लेंगे सिलेक्ट ऑल फ्रॉम टेबल या इसको कह देते हैं फ्रॉम एंप्लॉई एज ए जॉइन एंप्लॉई टेबल एज बी ऑन ए की जो आईडी है वो बी की मैनेजर आईडी के इक्वल होनी चाहिए तो बी के अंदर हमने मैनेजर आईडी बनाई उसके इक्वल होनी चाहिए इतने पार्ट को एग्जीक्यूट करते हैं तो हमारे पास ये आया इसमें क्याक आया हमारे पास लोगों की आईडी आई कि आईडी क्या है 103 103 104 यह तो है हमारे मैनेजर्स की आईडी यानी केसी केसी डोनाल्ड और 103 यह सारे के सारे लोग हमारे मैनेजर्स हैं और नॉर्मल लोग कौन है एडम का मैनेजर केसी है डोनाल्ड का भी मैनेजर केसी है बॉब का मैनेजर डॉनल्ड है तो इसको बेसिकली हम राइट टू लेफ्ट पढ़ रहे हैं क्योंकि जनरली हमारी ये जो क्वेरी होती है ये राइट टू लेफ्ट एग्जीक्यूट होती है अब हम चाहते हैं कि ये वाले जो कॉलम्स हो ये हमारे मैनेजर के नाम बन जाए क्योंकि ये हमारे मैनेजर्स के नाम है तो हमें सब कुछ नहीं चाहिए हमें सिर्फ क्या चाहिए हमारी जो ए वाली टेबल है उस a वाली टेबल से हमें सिर्फ नाम चाहिए तो a से तो सिर्फ हमें नाम चाहिए और b वाली टेबल से भी हमें नाम चाहिए तो अभी के लिए सिर्फ ए वाली टेबल के नाम और सिर्फ बी वाली टेबल के नाम प्रिंट करवा लेते हैं इसको करते हैं एग्जीक्यूट तो क्या हुआ ए वाली टेबल के हमारे पास नाम आ गए यहां पर ए वाली टेबल के नाम है बाद में है और फिर बी वाली टेबल के नाम है तो डॉनल्ड एडम और बॉब और ये केसी केसी डॉनल्ड ये हमारी बी वाली टेबल के नाम है ये हमारी ए वाली टेबल के नाम है तो हम ए वाली जो टेबल है इसके नाम को प्रिंट करवाएंगे एज आर मैनेजर नेम तो ए वाली टेबल के जो नाम है वो मैनेजर के नाम की तरह आ जाए और फिर हमारी बी वाली टेबल आ जाए इसको सेलेक्ट कर लेते हैं और रन करते हैं तो इस बार क्या हुआ नाम नॉर्मल लोगों के आ गए एडम और मैनेजर का नाम क्या है केसी बॉब के मैनेजर का नाम क्या है डॉनल्ड डोल्ड के मैनेजर का नाम क्या है केसी तो इस तरीके से हम अपने नॉर्मल एंप्लॉयज एंड उनके मैनेजर्स के नाम को प्रिंट करवा सकते हैं तो बेसिकली जब एक ही टेबल के अंदर दोनों तरीके का डाटा हो तो फिर वहां पर हम सेल्फ जॉइन को यूज करते हैं वहां से रिलेवेंट डाटा को निकालने के लिए अच्छा ये वाली जो स्क्रीनशॉट यहां पर दिखाई दे रहा है ना इसकी जगह मेरे से एक और स्क्रीनशॉट मांग लेना या मैं आपको स्क्रीनशॉट दे दूंगी इसकी जगह तो वो स्क्रीनशॉट यहां पे लगाना ये वाला स्क्रीनशॉट ये जो मैंने यहां पे लगाया हुआ है ये वाला नहीं लगेगा यहां पे दूसरा स्क्रीनशॉट लगेगा तो जब मैं इसको एक्सप्लेन कर रही हूं वहां पे वो वाला स्क्रीनशॉट आप दिखा देना अब नेक्स्ट हम बात करने वाले हैं जॉइंट्स के बाद यूनियन के बारे में यूनियन का कांसेप्ट बेसिकली हमारे सेट्स के कांसेप्ट से आता है मैथ के अंदर अगर हमने सेट्स पढ़े होंगे नाथ 10th में यूजुअली हम पढ़ते हैं तो वहीं पर हम वेन डायग्राम्स के बारे में भी पढ़ते हैं कि हमारे पास एक सेट ए होता है हमारे पास एक सेट बी होता है सेट ए के अंदर ये सारे एलिमेंट्स हैं सेट बी के अंदर ये सारे एलिमेंट्स हैं तो वहीं से यूनियन का इंटरसेक्शन का हमारे पास कांसेप्ट आता है तो वहां से एक कांसेप्ट को हम काफी ज्यादा यूज़ करते हैं एसक्यूएल में व्हिच इज़ माय यूनियन कांसेप्ट यूनियन क्या करता है यूनियन एक टेबल के सारे एलिमेंट्स ले लेगा मतलब टेबल ए के सारे एलिमेंट्स ले लेगा और टेबल b के सारे एलिमेंट्स ले लेगा और दोनों को कंबाइन कर देगा और दोनों को कंबाइन करने के बाद मतलब यूनियन के अंदर जब दोनों को कंबाइन किया जाता है तो डुप्लीकेट्स हट जाते हैं सिर्फ यूनिक वैल्यूज हमारे पास फाइनल रिजल्ट में आती है तो यूनियन क्या करता है इट इज यूज्ड टू कंबाइन द रिजल्ट सेट ऑफ टू र मोर सिलेक्ट स्टेटमेंट्स कि ए टेबल से अगर मैंने कुछ सेलेक्ट किया और बी टेबल से कुछ सिलेक्ट किया तो दोनों सिलेक्ट स्टेटमेंट्स को अगर हम कंबाइन करते हैं डटा को कंबाइन करते हैं तो फिर यूनियन हमें सारे के सारी यूनिक रिकॉर्ड्स देता है और यूनियन को यूज़ करने के लिए सारी जो सिलेक्ट स्टेटमेंट्स हैं शुड हैव द सेम नंबर ऑफ कॉलम्स सारे जो कॉलम्स हैं उनके सिमिलर डेटा टाइप्स होने चाहिए और सारे जो कॉलम्स हैं सिलेक्ट के अंदर सेम ऑर्डर के अंदर होने चाहिए तभी हम अपने यूनियन को यूज़ कर पाते हैं जैसे इसका एक एग्जांपल लेते हैं सिंटेक्स के लिए हम लिख सकते हैं सिलेक्ट कॉलम फ्रॉम टेबल ए यूनियन सिलेक्ट कॉलम फ्रॉम टेबल बी तो एग्जांपल के लिए हम अपनी एंप्लॉई टेबल की बात करते हैं एंप्लॉई टेबल के अंदर हम लिख सकते हैं सिलेक्ट अगर हम लेट्स सपोज अपना कॉलम ले लेते हैं नेम फ्रॉम टेबल ए तो टेबल ए क्या है टेबल ए है हमारे पास एंप्लॉई और इसका हम यूनियन ले लेते हैं सिलेक्ट नेम फ्रॉम दोबारा से सेम टेबल एंप्लॉई तो हम एंप्लॉई का एंप्लॉई के साथ ही यूनियन ले रहे हैं इसको एग्जीक्यूट करेंगे तो हमारे पास क्या आएगा सारे के सारे हमारे पास नाम प्रिंट होकर आ जाएंगे अभी तो हमने सेम टेबल लिया हम दो टेबल अलग भी ले सकते हैं तो उसमें हम यूनियन को अप्लाई कर सकते हैं तो वो कॉमन नाम दे देगा यूनिक नाम दे देगा और जैसे हमारे पास यूनियन होता है वैसे ही हमारे पास एक और होता है यूनियन ऑल करके यूनियन ऑल कीवर्ड क्या करता है यूनियन ऑल हमें डुप्लीकेट्स दे देता है जैसे यूनियन सारे के सारे डुप्लीकेट्स को हटा देता है यूनिक वैल्यूज देता है यूनियन ऑल डुप्लीकेट्स भी अलाव करता है ये सारी वैल्यूज देता है तो जब हम इसे एग्जीक्यूट करेंगे यूनियन ऑल को तो सारे के सारे नाम हमारे पास रिपीट होकर आएंगे क्यों क्योंकि वो नाम हमारी टेबल ए के अंदर भी थे और वो नाम हमारी टेबल b के अंदर भी थे तो जैसे हमारे पास यूनियन होता है यूनियन क्या करेगा दो टेबल्स हैं तो दोनों टेबल्स का पूरा का पूरा डाटा हमें कंबाइन करके दे देगा तो इस तरीके से हमारा यूनियन काम करता है और यूनियन को जनरली हम अपना फुल जॉइंट परफॉर्म करने के लिए यूज़ करते हैं ऑन आवर डिफरेंट टेबल्स अब नेक्स्ट हम बात करने वाले हैं एसक्यूएल सब क्वेरीज के बारे में इन्हें हम सब क्वेरीज भी कह सकते हैं इनर क्वेरीज भी कह सकते हैं नेस्टेड क्वेरीज भी कह सकते हैं ये ऐसी क्वेरीज होती हैं जो दूसरी एसक्यूएल क्वेरीज के अंदर लिखी जाती है तो बेसिकली हम दो सिलेक्ट स्टेटमेंट्स को लिखते हैं तो जैसे हमारी एक क्वेरी होगी और उसी क्वेरी के अंदर हमने कोई और सब क्वेरी लिखी होगी जैसे यहां पर ये डायग्राम बना हुआ है इसके अंदर हमारी कोई आउटर क्वेरी है जिसके अंदर हमने इनसाइड उसके कुछ सब क्वेरी को लिख दिया है अब वैसे तो हम अपनी सब क्वेरीज को एग्जांपल्स के थ्रू समझेंगे पर सब क्वेरीज को लिखने के तीन तरीके होते हैं सबसे पहला होता है कि हम सब क्वेरीज को सिलेक्ट के अंदर लिखें दूसरा तरीका होता है सब क्वेरीज को हम फ्रॉम के अंदर लिखें और तीसरा तरीका होता है सब क्वेरीज को हम वेयर क्लॉज के अंदर लिखें इनमें से सबसे यूज होने वाला तरीका है अपना वेयर क्लॉज वाला एंड उसी का सिंटेक्स हमने यहां पर लिखा हुआ है जैसे सिंटेक्स वाइज हम लिखते हैं सिलेक्ट कॉलम फ्रॉम टेबल तो बेसिकली यहां से तो हम अपने कॉलम सिलेक्ट कर रहे हैं अपनी टेबल से वेयर कॉलम नेम यानी जहां पर किसी कॉलम की वैल्यू और हम फिर कुछ ऑपरेटर यूज़ कर सकते हैं हम बिटवीन ऑपरेटर यूज़ कर सकते हैं हम इन ऑपरेटर यूज़ कर सकते हैं हम ग्रेटर दन लेस दन ऑपरेटर यूज़ कर सकते हैं और फिर इस तरीके से पैरेंस यानी ब्रैकेट्स के बीच में हम अपनी सब क्वेरी लिखते हैं सब क्वेरी क्या है सब क्वेरी बेसिकली नॉर्मल एसक्यूएल क्वेरी है यानी यहां पर भी हम सिलेक्ट समथिंग या ऐसा कुछ लिखेंगे बट वो एक दूसरी क्वेरी के अंदर लिखा जाएगा इसीलिए उसे हम सब क्वेरी कह देते हैं जैसे इसका एक एग्जांपल देखते हैं यहां पर हमें ये टेबल दी हुई है ये हमारी स्टूडेंट टेबल है जिसे हमने ऑलरेडी बनाया हुआ है स्टूडेंट के अंदर हमारे पास रोल नंबर्स हैं उन स्टूडेंट्स के हमारे पास नाम है और उन स्टूडेंट्स के हमारे पास मार्क्स हैं तो इस टेबल के लिए अगर हमें बोला जाता है कि हमें निकालने हैं गेट ऑल द नेम्स ऑफ ल्स स्टूडेंट्स हु स्कोर्ड मोर दन क्लास एवरेज यानी हमें उन सारे स्टूडेंट्स के नेम्स निकालने हैं जिन्होंने क्लास के एवरेज से ज्यादा स्कोर किया है तो उसके लिए हम क्या करेंगे सबसे पहले तो हमें क्लास का एवरेज निकालना पड़ेगा लेट्स सपोज क्लास का कुछ एवरेज आ जाता है x कोई वैल्यू x आ जाती है क्लास का एवरेज तो हमें उन सारे स्टूडेंट्स के नाम निकालने हैं उन सारे स्टूडेंट्स के ना नाम निकालने हैं जिनके मार्क्स की वैल्यू इस एवरेज मार्क्स से ज्यादा है तो यह काम करने का हमारा टू स्टेप प्रोसेस रहेगा सबसे पहले तो हम फाइंड आउट कर लें द एवरेज ऑफ़ द क्लास सबसे पहले तो हमें क्लास के एवरेज मार्क्स ही निकालने पड़ेंगे कि सारे के सारे स्टूडेंट्स के मार्क्स में से इनका एवरेज स्कोर क्या बनता है उसके बाद हम फाइंड करेंगे द नेम ऑफ स्टूडेंट्स विद मार्क्स ग्रेटर दन एवरेज तो सबसे पहले तो अपने स्टेप वन के लिए अपनी एसक्यूएल क्वेरी लिखते हैं जो कि काफी सिंपल होगा अगर हमारे पास कोई भी टेबल है टेबल के अंदर डाटा है मार्क्स का हमें इन सारे मार्क्स का अगर एवरेज निकालना है तो उसके लिए हम अपने एग्रीगेट फंक्शन को यूज कर सकते हैं अपना एवरेज एग्रीगेट फंक्शन हम क्या करेंगे यहां पर हमने ऑलरेडी अपनी वो स्टूडेंट वाली टेबल बनाई हुई है उसके अंदर हमने इस डाटा को ऐड कर रखा है और अब हम क्या कर सकते हैं अपने डाटा को एक बार देख भी सकते हैं तो ये रहा हमारा डाटा इसके अंदर हम इन मार्क्स के ऊपर फोकस करेंगे तो मार्क्स के लिए हमें एवरेज निकालना है एवरेज निकालने के लिए हम लिख सकते हैं सिलेक्ट एवरेज ऑफ मार्क्स फ्रॉम स्टूडेंट तो इससे सारे के सारे स्टूडेंट्स का सेे स्मॉल कर लेते हैं हमारे पास एवरेज मार्क्स आ जाएंगे बहुत इजी सी चीजें होने वाली है इसको हमने सिलेक्ट कर लिया एंड इसको एग्जीक्यूट किया तो हमारे पास एवरेज स्कोर आ गया कितना है एवरेज स्कोर एवरेज स्कोर है हमारा 87.6 667 ये हमारे सारे के सारे स्टूडेंट्स के एवरेज मार्क्स हैं अब हम क्या करेंगे अब हम उन सारे स्टूडेंट्स के नाम निकालेंगे जिनके मार्क्स ग्रेटर देन दिस एवरेज नंबर है तो उसके लिए हम एक और क्वेरी लिख सकते हैं लेट्स राइट वन मोर क्वेरी हम लिख सकते हैं सिलेक्ट नेम्स फ्रॉम नेम्स फ्रॉम स्टूडेंट वेर वेर में हम कंडीशन लिख सकते हैं जहां पर स्टूडेंट के जो मार्क्स है व ग्रेटर देन हमारा एवरेज है हमारा एवरेज क्या था 87 6667 तो यह हमारा एवरेज था इस एवरेज से ज्यादा अगर किसी के मार्क्स है तो फिर हमें उन सारे स्टूडेंट्स के नाम चाहिए इसको सेलेक्ट कर लेते हैं एी क्यूट कर करते हैं तो हमारे पास तीन स्टूडेंट्स के नाम आ गए जिसमें भूमिका है ध्रुव है इमानुएल है हम चाहे तो इन स्टूडेंट्स के साथ में मार्क्स भी प्रिंट करवा सकते हैं ताकि हमें पता चल जाए इनके एग्जैक्ट मार्क्स कितने थे और इसको हमने कर लिया एग्जीक्यूट तो 93 96 92 सबके मार्क्स हमारे एवरेज मार्क्स से ज्यादा है पर कल को हो सकता है स्टूडेंट टेबल के अंदर कोई और नया स्टूडेंट आ जाए जिसके मार्क्स कुछ और हो या फिर कल को हो सकता है किसी स्टूडेंट के बारे में पता चले कि हां इसने तो थोड़ा सा ज्यादा स्कोर कर लिया इसको गलती से एक्स्ट्रा मार्क्स मिल गए या किसी स्टूडेंट के गलती से एक्स्ट्रा मार्क्स कट हो गए उसका एक आंसर कभी चेक ही नहीं हुआ तो उसके तो मार्क्स ज्यादा होना चाहिए तो अगर टेबल के अंदर कोई भी चेंज होगा तो उससे क्या होगा क्लास का एवरेज ऊपर या नीचे जा सकता है तो उस केस में हमारे एवरेज मार्क्स भी चेंज हो जाएंगे तो हमें तो इस तरीके का एक डायनेमिक प्रोसेस चाहिए डायनेमिक यानी जिसमें कोई फिक्स्ड वैल्यू ना हो वो ऑटोमेटिक पहले तो क्लास का एवरेज निकाले फिर उस क्लास के एवरेज के बेसिस पर हमारे स्टूडेंट्स के डिटेल्स निकाले तो इस तरीके की चीजें लिखने के लिए हम सब क्वेरीज को यूज़ करते हैं मतलब ये हमारी फर्स्ट स्टेप और ये हमारे सेकंड स्टेप दोनों को कंबाइन करने के लिए हम सब क्वेरीज को यूज़ करेंगे दोनों को कंबाइन करने के लिए कैसे सब क्वेरीज को यूज करेंगे हम इतना पार्ट तो सेम रखेंगे यानी हमें चाहिए तो क्या क्या चाहिए हमें हमें नाम चाहिए स्टूडेंट्स के और उनके मार्क्स चाहिए स्टूडेंट टेबल से चाहिए कहां से चाहिए जहां पर हमारी मार्क्स की वैल्यू ग्रेटर देन है सिंटेक्स को अगर हम ध्यान से देखें सब क्वेरीज के तो वेयर कॉलम नेम कॉलम नेम क्या है हमारा मार्क्स और ऑपरेटर ऑपरेटर क्या है हमारा ग्रेटर दन ऑपरेटर वही सेम चीज हम कर रहे हैं और पैरेंस के अंदर हम अपनी सब क्वेरीज डाल दें तो सब क्वेरी क्या होगी सब क्वेरी हमारी यही वाली क्वेरी होगी ये वाली क्वेरी जिसमें हम एवरेज कैलकुलेट कर रहे हैं यही हमारी सब क्वेरी बन जाएगी इसे चाहे तो हम सिंगल लाइन में लेकर आ सकते हैं तो ये बेसिकली हो जाएगा कि नेम एंड मार्क्स सिलेक्ट करो फ्रॉम स्टूडेंट जहां पर मार्क्स की वैल्यू ग्रेटर देन है किससे ग्रेटर देन है यहां पर हमें पता है एवरेज क्या करेगा एवरेज हमें सिंगल वैल्यू देगा तो ये जो क्वेरी है ये हमें एवरेज की वैल्यू लाकर दे देगी और फिर उसे हम मार्क्स के साथ कंपेयर कर लेंगे तो ये जो सिलेक्ट एवरेज मार्क्स फ्रॉम स्टूडेंट अपने आप में जो इंडिविजुअल एसक्यूएल क्वेरी होती थी इसको हमने बड़ी प्रॉब्लम सॉल्व करने के लिए अपनी एक छोटी सब क्वेरी बना दिया और अब इसे एग्जीक्यूट करेंगे तो सेम डिटेल्स हमारे पास आएंगी बस इस बार यह प्रोसेस डायनेमिक हो गया यानी कल को अगर किसी स्टूडेंट के मार्क्स बढ़ाए जाते हैं या कम किए जाते हैं या कोई नया स्टूडेंट ऐड किया जाता है क्लास में तो हमें इस क्वेरी के अंदर कुछ चेंज करने की जरूरत नहीं है ये फिर से सारे के सारे स्टूडेंट्स का एवरेज कैलकुलेट करेगी और फिर से हमें सबके नेम्स एंड उनके मार्क्स रिटर्न करके देगी हमारी ये वाली एसक्यूएल क्वेरी तो ये जो एसक्यूएल क्वेरी है यह डायनेमिक है डायनेमिक कहने का मतलब है कि ये स्टैटिक नहीं है मतलब ये फिक्स्ड चीज नहीं है ये हमेशा ऑटोमेटिक अपडेट होती रहेगी डिपेंडिंग अपॉन द अपडेशंस इन द टेबल यानी टेबल के अंदर कोई डेटा अगर चेंज होता है उस हिसाब से इस सब क्वेरी का भी रिजल्ट चेंज होगा सब क्वेरी का रिजल्ट चेंज होगा तो ओवरऑल हमारा पूरा का पूरा आंसर चेंज होता रहेगा तो ये यूज और ये इंपॉर्टेंस होती है हमारी सब क्वेरीज की जब भी हम सवालों को सॉल्व कर रहे होते हैं इसका एक और एग्जांपल देखते हैं इस दूसरे एग्जांपल के अंदर हमें क्या करना है फाइंड द नेम्स ऑफ ऑल स्टूडेंट्स विद इवन रोल नंबर्स जिन भी स्टूडेंट का इवन रोल नंबर है इवन कहने का मतलब है इवन हमारे कौन से नंबर्स होते हैं टू एक इवन नंबर है फोर एक इवन नंबर है रो एक इवन नंबर है सिक्स एक इवन नंबर है एट एक इवन नंबर है जनरली इवन नंबर्स की पहचान यह होती है कि वो टू से डिवाइड हो जाते हैं कंप्लीट जो टू की टेबल में आते हैं या टू से कंप्लीट डिवाइड हो जाते हैं उन्हें हम इवन नंबर्स कह देते हैं जैसे 2 4 6 8 10 ये सारे के सारे हमारे इवन नंबर्स हैं दैट इज़ बेसिक मैथ पर प्रोग्रामिंग के अंदर इवन नंबर्स निकालने का एक छोटा सा ट्रिक होता है ट्रिक भी नहीं इस बिल्कुल बेसिक चीज कह सकते हैं हमने मॉड्यूस ऑपरेटर पढ़ा था मॉड्यूस क्या करता है हमें रिमाइंडर देता है मॉड्यूस क्या करता है हमें रिमाइंडर देता है तो हमें पता है कोई भी नंबर अगर इवन नंबर होगा तो ईवन नंबर को जब भी टू से डिवाइड किया जाएगा तो रिमाइंडर क्या आएगा हमेशा रिमाइंडर ज़ीरो होगा क्यों क्योंकि अगर कोई इवन नंबर है लेट्स सपोज हमने 16 ले लिया 16 एक नीवन नंबर है उसको हम टू से डिवाइड करेंगे तो आठ से क्या करेगा कंप्लीट डिवाइड हो जाएगा अगर हम कोई दूसरा इवन नंबर ले लेट्स सपोज हमने 10 ले लिया तो टू से डिवाइड करेंगे पांच से ये कंप्लीट डिवाइड हो जाएगा तो हर केस में इवन नंबर जब भी टू से डिवाइड होता है रिमाइंडर क्या आता है हमेशा रिमंड जीरो आता है तो इवन नंबर्स की पहचान ही यही होती है कि इवन नंबर्स जब भी टू से डिवाइड करते हैं हमेशा रिमाइंडर रो देते हैं तो अगर हमें कभी भी किसी भी इवन नंबर को चेक करना है एसक्यूएल में तो हम क्या कर सकते हैं अगर हमारे पास कोई नंबर है लेट्स सपोज हमारे पास कोई मार्क्स हैं इवन मार्क्स है या नहीं है तो उसको क्या करेंगे मॉड्यूस टू ले लेंगे और उसको चेक कर लेंगे क्या वो टू से डिवाइड होता है या टू से डिवाइड नहीं होता अगर वो टू से डिवाइड होता है तो फिर वो क्या है वो एक इवन नंबर है उसी तरीके से अगर हमारा रोल नंबर टू से डिवाइड होता है तो वो क्या है वो एक इवन रोल नंबर है यहां पर इवन रोल नंबर कौन-कौन से हैं हमारा 102 एक इवन रोल नंबर है 104 एक इवन रोल नंबर है 106 एक इवन रोल नंबर है तो बेसिकली हमें उन सारे स्टूडेंट्स के मार्क्स प्रिंट करवाने हैं जिनका रोल नंबर इवन है अब इसमें स्टेप वन क्या हो सकता है स्टेप वन हो सकता है कि सारे के सारे इवन रोल नंबर्स फाइंड आउट कर लो और स्टेप टू हो सकता है फाइंड द नेम्स ऑफ स्टूडेंट्स विद इवन रोल नंबर्स कि जो भी स्टूडेंट्स इन इवन रोल नंबर की लिस्ट में आते हैं उनके हमें नाम प्रिंट करवाने हैं तो पहले तो इसको स्टेप वाइज करते हैं फिर इसे सब क्वेरीज से करेंगे तो यहां पर अपना स्टेप वन लिख लिखते हैं स्टेप वन होगा जिससे हम सारे इवन रोल नंबर्स फाइंड आउट करेंगे तो हम लिखेंगे सिलेक्ट ऑल या सिलेक्ट रोल नंबर फ्रॉम स्टूडेंट वेयर रोल नंबर मॉड्यूल टू इक्वल टू 0 तो रोल नंबर मॉड्यूल टू क्या देगा हमें रिमाइंडर देगा जब रोल नंबर को हम टू से डिवाइड करेंगे और इक्वल टू 0 से हम उस रो के इक्वल है या नहीं है उसे कंपेयर कर लेंगे तो सिलेक्ट करके सारे रोल नंबर्स को प्रिंट करवाते हैं इसे एग्जीक्यूट करेंगे तो हमारे पास सारे के सारे इवन रोल नंबर्स आ जाएंगे 1 104 106 अब हमें क्या करना है 102 104 106 ये हमारे पास आए हैं तो इन्ह ऐसे लिख लेते हैं हम 102 104 एंड 106 ये हमारे पास एक लिस्ट है इवन रोल नंबर्स की अब हमें चाहिए जिन स्टूडेंट्स के य रोल नंबर है सिर्फ उन्हीं के नाम प्रिंट करवाने हैं तो हम लिख सकते हैं सिलेक्ट नेम फ्रॉम स्टूडेंट टेबल वेयर रोल नंबर इन दिस लिस्ट तो हमने इन ऑपरेटर को ऑलरेडी पढ़ रखा है जब भी किसी लिस्ट के अंदर से हमें वैल्यू को कंपेयर करना होता है तो उसके लिए हम इन ऑपरेटर को यूज़ कर लेते हैं तो यहां से बेसिकली हम कहना चाह रहे हैं कि उन स्टूडेंट्स के नाम निकालो स्टूडेंट टेबल में जहां पर रोल नंबर की वैल्यू इस लिस्ट के अंदर एजिस्ट करती हो तो इसको कर लेते हैं सिलेक्ट एंड एग्जीक्यूट तो उससे क्या हुआ भूमिका ध्रुव एंड फरा तीनों आ गए हमारे पास नाम के साथ उनके रोल नंबर भी हम प्रिंट करवा लेते हैं तो इनको सेलेक्ट कर लेते हैं तो भूमिका का रोल नंबर है 102 ध्रुव का है 104 फरा का है 106 तो सारे इवन रोल नंबर वाले नाम आ गए तो अभी तो हम हमने क्या किया इसे दो स्टेप्स में परफॉर्म किया ये फर्स्ट स्टेप है ये सेकंड स्टेप है हमने पहले फर्स्ट स्टेप का रिजल्ट देखा फिर उसे टाइप किया या कहीं पर स्टोर कराया और फिर उसको क्वेरी टू के अंदर यूज़ किया पर दोबारा से ये एक डायनेमिक प्रोसेस नहीं है इसमें कल को अगर किसी का रोल नंबर चेंज हो जाता है या कुछ और हो जाती है तो उस केस में हमें दोबारा से अपनी क्वेरी को लिखना पड़ेगा तो यहां पर हम यूज़ करेंगे सब क्वेरीज का ये जो इन के अंदर हमने रिजल्ट डाला है रिजल्ट की जगह हम यहां पर क्वेरी डालेंगे जैसे पहले हमने एवरेज नंबर की जगह सीधा एवरेज नंबर वाली क्वेरी डाल दी थी वैसे ही हम इवन रोल नंबर की जगह इवन रोल नंबर वाली क्वेरी को यहां पर डालेंगे तो यहां पर क्वेरी को डालने के लिए इसे यहां से कर लेते हैं कॉपी एंड यहां पर पेस्ट तो इसे हम चाहे तो थोड़ा सा स्पेस दे सकते हैं थोड़ा और रीडेबल हो जाएगा तो बेसिकली यह हमारी क्वेरी बन गई कि सेलेक्ट कर लो रोल नंबर और नेम फ्रॉम स्टूडेंट जहां पर रोल नंबर इन रोल नंबर्स के अंदर आते हो तो सेलेक्ट रोल नंबर फ्रॉम स्टूडेंट ये ये जो अंदर वाली सब क्वेरी है मतलब ये जो इतना पार्ट है ये मुझे इवन रोल नंबर्स दे देगी और ये जो बाहर वाले हैं ये मुझे उन इवन रोल नंबर्स के नेम्स दे देंगे तो इसको कर लेते हैं सिलेक्ट एंड रन तो क्या हुआ सारे के सारी इवन रोल नंबर्स वाले नाम हमारे पास आ गए इवन दो यहां पर हमने कोई रोल नंबर नहीं लिख रखा सिर्फ हमने लॉजिक लिखा है एसक्यूएल वाला तो ये पावर होती है एक तरीके से सब क्वेरीज की जिसकी हेल्प से हम बहुत सारा लॉजिक यूज़ कर सकते हैं अपनी एसक्यूएल के अंदर अब नेक्स्ट हम बात करने वाले हैं एक और एग्जांपल की जिसमें हम फ्रॉम के अंदर अपनी सब क्वेरी को लिखेंगे तो हमने शुरुआत में ही बात की थी तीन तरीके होते हैं उनमें से सबसे पॉपुलर तरीका होता है वेयर के अंदर यानी जैसे हमने ने यूज़ किया है वैसे अपनी सब क्वेरी को यूज़ करना और एक और तरीका भी यूज़ कर लिया जाता है जिसमें हम फ्रॉम के अंदर अपनी सब क्वेरी को लिखते हैं जैसे लेट्स सपोज फाइंड द मैक्सिमम मार्क्स फ्रॉम द स्टूडेंट्स ऑफ दिल्ली हमें ये चीज बोली गई है कि दिल्ली के जितने भी स्टूडेंट्स हैं ये जो तीन स्टूडेंट्स हैं इनमें से जिनके भी मैक्सिमम मार्क्स हैं उनको हमें फाइंड आउट करना है अब वैसे तो इस सवाल को सॉल्व करने के बहुत सारे तरीके हैं बहुत सारे अलग-अलग तरीकों से एसक्यूएल को यूज़ करके इस सवाल को सॉल्व किया जा सकता है पर हम इस सवाल को सब क्वेरीज से सॉल्व करेंगे वो भी स्पेसिफिकली फ्रॉम के अंदर सब क्वेरीज लिखकर तो सबसे पहला स्टेप होगा सारे के सारे वह स्टूडेंट्स फाइंड करेंगे जो दिल्ली के अंदर हैं जो जिनकी सिटी की वैल्यू दिल्ली के इक्वल है और उसके बाद हम उन सारे स्टूडेंट्स के मार्क्स फाइंड आउट कर लेंगे यूजिंग दिस सबलिस्ट तो उसको देखते हैं कैसे हम सब क्वेरीज से कर सकते हैं यह पुराने वाली सब क्वेरीज को यहां से हम हटा देते हैं हम क्या करेंगे सबसे पहले सिर्फ दिल्ली के स्टूडेंट्स निकालते हैं तो सिलेक्ट ऑल फ्रॉम स्टूडेंट वेयर सिटी इक्वल टू दिल्ली तो सारे के सारे यहां से इस सब क्वेरी से वो स्टूडेंट्स आ जाएंगे जिनकी सिटी दिल्ली के इक्वल है इसको एग्जीक्यूट करेंगे तो हमारे सिर्फ दिल्ली वाले स्टूडेंट्स आ गए अब हमें क्या करना है दिल्ली वाले स्टूडेंट्स के लिए हमें मैक्सिमम मार्क्स निकालने हैं तो हम क्या करेंगे अपनी पूरी टेबल यूज करने की बजाय हम सिर्फ वो टेबल यूज करेंगे या वो डाटा यूज करेंगे जो हमारी दिल्ली वाले बच्चे हैं तो दिल्ली वाले बच्चों का डेटा कैसे निकालना है वो हमें ऑलरेडी पता है हम इस क्वेरी को एग्जीक्यूट करके अपने दिल्ली वाले बच्चों का डेटा निकाल सकते हैं तो पूरी टेबल की जगह हम इस टेबल को यूज करेंगे फ्रॉम के अंदर तो कैसे करेंगे हम लिख सकते हैं सिलेक्ट हमें चूज करने है मैक्सिमम ऑफ मार्क्स फ्रॉम अब यहां पर हम इस चीज को लिखेंगे यानी फ्रॉम के अंदर हम इस स्टेटमेंट को लिखने वाले हैं एक सब क्वेरी की तरह तो ये हमारी सब क्वेरी बन जाएगी इसे चाहे तो हम सिंगल लाइन के अंदर लिख सकते हैं फ्रॉम ये वाली टेबल सिलेक्ट ऑल फ्रॉम स्टूडेंट वेयर सिटी इज इक्वल टू दिल्ली तो ये क्या बनेगी ये हमारी एक नई टेबल बन जाएगी जिसके अंदर से दिल्ली के बच्चे होंगे और इसके लिए हम एक एलियस यूज़ कर सकते हैं एज इसको हम टेंपरेरी कह देते हैं इस टेबल को ये जो दिल्ली वाले बच्चों की टेबल आएगी इसको हम टेंपरेरी टेबल कह देते हैं तो एलिस जो होते हैं वो सिर्फ हम जॉइंट्स के अंदर नहीं यहां पर नॉर्मली सब क्वेरीज के अंदर भी यूज़ कर सकते हैं और जब भी हम फ्रॉम के अंदर अपनी सब क्वेरी लिखते हैं तब हमेशा हमें किसी ना किसी एलिस को यूज़ करना पड़ता है तो इसीलिए हमने टेंपरेरी लिखा है तो सिर्फ हमें इतना पार्ट लिखना है मतलब सिर्फ हमें ये लाइन लिखने की जरूरत है कि पहले तो हमने क्या किया सिर्फ दिल्ली वाले बच्चों का डाटा निकाल लिया अब हम कह रहे हैं कि मुझे मैक्सिमम मार्क्स चाहिए कहां से चाहिए इस टेबल से और ये टेबल क्या है ये मेरी टेंपररी नाम की एक टेबल बना दी है मैंने क्योंकि इसको टेंपररी नाम दिया है जिसमें सिर्फ दिल्ली वाले बच्चों का डाटा है तो ऑटोमेटिक जो हमारे पास मैक्सिमम मार्क्स आएंगे वो दिल्ली वाले बच्चों के ही आएंगे तो इसको कर लेते हैं हाईलाइट एंड रन तो मैक्सिमम मार्क्स क्या है 90 हैं तो दिल्ली वाले जितने भी स्टूडेंट्स हैं इन तीन स्टूडेंट्स के मैक्सिमम मार्क्स इक्वल टू 96 हम चाहे तो कल को यहां से मुंबई के सारे स्टूडेंट्स के मैक्सिमम मार्क्स निकाल सकते हैं तो सिटी इक्वल टू मुंबई करना पड़ेगा बस इसको कर लेते हैं हाईलाइट एग्जीक्यूट तो क्या हुआ 93 आ गया तो मुंबई के स्टूडेंट्स में मैक्सिमम मार्क्स इज इक्वल टू 93 अब वैसे तो इसको करने का एक दूसरा तरीका भी होता है जो ज्यादा इजी तरीका होगा जैसे हम सिंपली लिख दें सिलेक्ट मैक्सिमम ऑफ मार्क्स फ्रॉम स्टूडेंट वेयर सिटी इक्वल टू मुंबई यह भी बिल्कुल सही तरीका है अगर आपके दिमाग में आए कि नहीं मुझे तो मैक्सिमम मार्क्स मुंबई के बच्चों के ऐसे निकालने हैं तो उसमें भी हमारे पास सेम रिजल्ट आएगा कोई गलत तरीका नहीं है बट ये बस डेमोंस्ट्रेट था ये बस दिखाने का तरीका था कि इस तरीके से भी सब क्वेरीज लिखी जा सकती है एसक्यूएल के अंदर और वो भी वैलिड सब क्वेरी होगी वो भी रन करेगी कोड के अंदर ऐसा नहीं है इसके अंदर कोई एरर आ जाएगा तो जब भी हमें कोई डेटा चाहिए होता है सेम डेटा को निकालने के मल्टीपल तरीके होते हैं मल्टीपल क्वेरीज होती हैं जिनको हम यूज़ कर सकते हैं बस किसी सिचुएशन में कोई क्वेरी ज्यादा सिंपल होती है किसी सिचुएशन में दूसरी क्वेरी ज्यादा सिंपल और यूजफुल होती है अब नेक्स्ट हम एक और एग्जांपल देखने वाले हैं कि कैसे हम एसक्यूएल सब क्वेरीज को सिलेक्ट के साथ यूज कर सकते हैं अब वैसे सेलेक्ट के साथ यूज करना इतना ज्यादा हमें फ्रीक्वेंसी देखने को नहीं मिलेगा एसक्यूएल के अंदर बट हम चाहे तो वो भी कर सकते हैं जैसे सेलेक्ट के बाद ही हम एक और क्वेरी लिख दें सिलेक्ट ऑल फ्रॉम स्टूडेंट तुमने क्या किया सिलेक्ट ऑल फ्रॉम स्टूडेंट लिख दिया या सिलेक्ट ऑल की जगह हम यहां पर कर लेते हैं कोई सिंगल वैल्यू लिख लेते हैं सिलेक्ट मैक्सिमम ऑफ मार्क्स यानी हमने सारे स्टूडेंट्स के मैक्सिमम मार्क्स सिलेक्ट कर लिए सिर्फ इतनी सब क्वेरी से और सारे स्टूडेंट्स के हमने नेम सेलेक्ट कर लिए फ्रॉम स्टूडेंट तो वैसे तो यह सब सब क्वेरी इतनी ज्यादा यूजफुल नहीं होगी कुछ हम सिर्फ सारे स्टूडेंट्स के मैक्सिमम मार्क्स और उनके नाम लेकर आ रहे हैं बट पॉइंट इज कि यहां पर सब क्वेरी यूज हो सकती है इस तरीके से सिलेक्ट के अंदर भी सब क्वेर यूज हो सकती है इसको एग्जीक्यूट करेंगे तो अननोन कॉलम नेम्स तो ये नेम्स नहीं नेम है हमारे कॉलम का नाम सिलेक्ट कर लेते हैं एग्जीक्यूट करते हैं तो यहां क्या हुआ सारे स्टूडेंट्स के मार्क्स तो आ ही गए पर क्योंकि एक सेकंड चीज एज अ कॉलम हमने क्या दी थी हमने एक नया कॉलम बना लिया खुद से ही सिलेक्ट मैक्सिमम ऑफ मार्क्स फ्रॉम स्टूडेंट तो क्या आए सारे स्टूडेंट्स के मार्क्स आ गए एज माय मैक्सिमम हम चाहे तो सिर्फ यहां पर मार्क्स भी लिख सकते हैं सिलेक्ट मार्क्स फ्रॉम स्टूडेंट इसको करेंगे रन करेंगे तो अब हमारे पास एरर आ जाएगा तो यहां पर एरर क्या आया सब क्वेरी रिटर्न्स मोर देन वन रो तो बेसिकली ये वाली जो सब क्वेरी है ये हमें एरर दे देगी तो इस तरीके से अगर हम चाहे कि हम मल्टीपल रोज रिटर्न करवा ले ऐसा नहीं हो सकता हमारी इस सब क्वेरी के अंदर हमारे पास एक ही रो आनी चाहिए तभी सिलेक्ट के अंदर सब क्वेरीज लिख पाना वैलिड होगा बट इसको हम हटा लेते हैं क्योंकि मैक्सिमम केसेस में हम वेयर के अंदर अपनी सब क्वेरीज को यूज़ करेंगे तभी वो ज्यादा सेंस बनाएगा और तभी हम मैक्सिमम सवालों को सॉल्व कर पाएंगे अब नेक्स्ट हम बात करने वाले हैं एक और इंटरेस्टिंग कांसेप्ट के बारे में जो है हमारे पास एम एसक्यूएल व्यूज का व्यू क्या होते हैं व्यू हमारे पास एसक्यूएल के अंदर वर्चुअल टेबल्स होती है वर्चुअल टेबल्स यानी एक होती है हमारी टेबल टेबल रियल है टेबल के अंदर रियल डाटा स्टोर्ड है और टेबल के अंदर पूरा डाटा स्टोर्ड है और टेबल के अंदर हम जो ऑपरेशंस करते हैं वो एक्चुअली हमारे डेटाबेस के अंदर रिफ्लेक्ट करते हैं और वही हमारे पास दूसरी तरफ कांसेप्ट आता है व्यूज का व्यूज रियल नहीं है व्यूज वर्चुअल टेबल्स है मतलब इनको हम एक तरीके से समझ सकते हैं नकली या टेंपररी टेबल्स हैं जिसके अंदर हम किसी भी तरीके का डटा ले सकते हैं जैसे लेट्स सपोज हमारे पास एक कंपनी का बड़ा सा डेटाबेस है उस डेटाबेस में सारे के सारे कस्टमर्स की इंफॉर्मेशन है तो सारे के सारे कस्टमर्स की इंफॉर्मेशन है और कंपनी के अंदर एक हमारी सेल्स टीम बैठती है अब सेल्स टीम को ये पता होना चाहिए कि कस्टमर का नाम क्या है कस्टमर का फोन नंबर क्या है कस्टमर का ईमेल आईडी क्या है या दूसरी रिलेवेंट इंफॉर्मेशन बट क्या सेल्स टीम को ये पता होना चाहिए कि कस्टमर ने कौन सा क्रेडिट कार्ड यूज करके अपनी पेमेंट की है उसकी जरूरत ज्यादा है नहीं तो इसीलिए हमारी कस्टमर टेबल के अंदर बहुत सारा डटा हो सकता है वैसे ही हमारी डेटाबेस की किसी भी टेबल के अंदर बहुत सारा डटा हो सकता है पर जरूरी नहीं है जब हम उस टेबल की व्यू एक्सेस उस टेबल को देखने का कोई जरिया किसी अगर व्यक्ति को दे रहे हैं अपनी ऑर्गेनाइजेशन के अंदर तो वो सारा डाटा देख पाए हो सकता है अकाउंट्स टीम को सिर्फ अकाउंट वाला डाटा अकाउंट्स टीम को क्रेडिट कार्ड दिखना चाहिए बट सेल्स टीम को जरूरी नहीं है कस्टमर सर्विस टीम को जरूरी नहीं है कि हमारे क्रेडिट कार्ड का डेटा दिखे उस केस में हम टेबल से व्यूज क्रिएट करते हैं यानी उसी टेबल का एक छोटा वर्जन उठाकर उसे एक व्यू बना देते हैं टेंपररी या वर्चुअल टेबल वहां से बना देते हैं जिसके अंदर पूरा डेटा नहीं है मैक्सिमम केसेस में उसके अंदर एक स्मॉल डाटा होता है और फिर उस व्यूज के ऊपर हम डिफरेंट डिफरेंट क्वेरीज को रन करवा सकते हैं तो हम अपने व्यूज को क्रिएट करने के लिए लिखते हैं क्रिएट व्यू जैसे क्रिएट टेबल लिखते हैं वैसे ही क्रिएट व्यू और फिर अपने व्यू का नाम और उसके आगे लिखते हैं एज यानी वो जो व्यू बना वो जो वर्चुअल टेबल बनी उसके अंदर क्या डेटा स्टोर होना चाहिए और फिर हम लिखते हैं वो डेटा जो उसके अंदर स्टोर होना चाहिए और फिर हम अपने व्यूज के ऊपर नॉर्मल क्वेरीज को रन कर सकते हैं जैसे इसका एग्जांपल लेते हैं लेट्स सपोज हमें एक व्यू क्रिएट करना है टीचर के हिसाब से अब टीचर को नहीं ज्यादा फर्क पड़ना चाहिए कि हमारे जो स्टूडेंट्स हैं वो कौन सी सिटीज से आते हैं तो हमारी टीचर को बस ये इंफॉर्मेशन मिलनी चाहिए हर जो स्टूडेंट है उसका रोल नंबर कितना है उसके मार्क्स कितने हैं उस स्टूडेंट का नाम क्या है और उसके मार्क्स कितने हैं टीचर को सिर्फ यई इंफॉर्मेशन पता होनी चाहिए तो उसके लिए हम लिख सकते हैं एक व्यू क्रिएट कर सकते हैं क्रिएट व्यू इस व्यू को हम नाम दे देंगे व्यू वन एज और इसके अंदर हम अपनी इंफॉर्मेशन क्या डालेंगे हम स्टूडेंट का रोल नंबर डालेंगे सिलेक्ट रोल नंबर नेम एंड मार्क्स फ्रॉम हमारी स्टूडेंट टेबल तो इससे क्या हुआ हमारे एक व्यू क्रिएट हो जाएगा जिसका नाम है व्यू वन इसको एग्जीक्यूट कर लेंगे तो एग्जीक्यूट हो गया अब हम इस व्यू के ऊपर ऑपरेशन अप्लाई कर सकते हैं जैसे अगर हम करें सिलेक्ट ऑल फ्रॉम व्यू वन तो बिल्कुल टेबल की तरह काम करेगी पर यह रियल टेबल नहीं है ये वर्चुअल टेबल है तो इसको करेंगे अगर तो क्या हुआ हमारी वर्चुअल टेबल आ गई जिसमें सिर्फ रोल नंबर है अ इसे थोड़ा सा एक्सपेंड कर लेते हैं रोल नंबर है स्टूडेंट्स के नेम्स है हमारे पास और स्टूडेंट्स के मार्क्स हैं अब हम चाहे तो इसके ऊपर मल्टीपल क्वेरीज हम रन कर सकते हैं कि हमें तो सिर्फ उन्हीं स्टूडेंट्स के मार्क्स देखने हैं जिन्होंने 90 प्लस स्कोर किया है तो यहां पर हम लिख सकते हैं वेयर मार्क्स इज ग्रेटर दन 90 तो डिफरेंट डिफरेंट जो कंडीशंस है वो हम अब हम व्यू के ऊपर लगा सकते हैं तो सिर्फ उन स्टूडेंट्स की डिटेल्स आ गई जि इन्होंने 90 प्लस स्कोर किया है अब जैसे हम अपने नॉर्मल टेबल्स को ड्रॉप करते हैं वैसे ही हम अपने व्यू को भी ड्रॉप कर सकते हैं हम सिंपली लिख सकते हैं ड्रॉप व्यू एंड देन व्यू वन तो उससे क्या होगा हमारा व्यू ड्रॉप हो जाएगा इसको करेंगे एग्जीक्यूट तो अब सक्सेसफुली एग्जीक्यूट हो गया अब अगर हम सिलेक्ट ऑल फ्रॉम व्यू करते हैं सेलेक्ट ऑल फ्रॉम व्यू वन तो उस केस में ये क्वेरी रन नहीं करेगी क्योंकि हमारा व्यू वन जो है ऑलरेडी डिलीट हो गया तो उस केस में हमारे पास एरर आ जाएगा और फिर हम नया व्यू क्रिएट कर सकते हैं तो इस तरीके से मल्टीपल ऑपरेशंस जो हमारी टेबल के ऊपर अप्लाई होते थे वो हमारी व्यू के ऊपर भी अप्लाई हो सकते हैं बट व्यूज वर्चुअल टेबल्स होती हैं रियल टेबल्स नहीं होती अगर हमने व्यू डिलीट कर दिया या व्यू क्रिएट किया वो हमारे यहां पर रिफ्लेक्ट करेगा स्कीमा में बट वो हमारे ओवरऑल डेटाबेस के ऊपर कोई फर्क नहीं डालता क्योंकि हमारी टेबल्स अलग होती हैं और अगर हमने ये व्यू क्रिएट कर दिया इसे रिफ्रेश कर लेते हैं तो ये हमारे सिर्फ व्यूज के अंदर जाकर स्टोर होगा ये एक्चुअल जो हमारी टेबल्स हैं उसके डाटा को अफेक्ट नहीं करवाता तो इस तरीके से हमने एसक्यूएल के अंदर बहुत सारे डिफरेंट डिफरेंट कांसेप्ट सीख लिए हैं आई होप कि प्रैक्टिकल पॉइंट ऑफ व्यू से लॉजिकल पॉइंट ऑफ व्यू से एसक्यूएल के अंदर हम जितनी भी कई सारी चीजें हमने सीखी हैं उनको करने में हमें मजा आया होगा एसक्यूएल के बारे में कई सारी नई चीजें हमें सीखने को मिली होंगी एंड उसके साथ-साथ आप जाके नोट्स को एक्सेस कर सकते हैं आप चाहे तो जाकर जो हमने प्रैक्टिस क्वेश्चंस आपको दिए हैं एसक्यूएल के लिए उनको सॉल्व कर सकते हैं एंड प्लीज जितना भी हमने एसक्यूएल सीखा है इसको ज्यादा से ज्यादा प्रैक्टिस करना है क्योंकि जितना चीजें हम प्रैक्टिस करेंगे उतनी ज्यादा स्ट्रांग कमांड हमारी बनेगी हमारे कॉन्सेप्ट्स के ऊपर तो आज के लिए इतना ही मिलते हैं नेक्स्ट लेक्चर में टिल देन कीप लर्निंग एंड कीप एक्सप्लोरिंग