Full transcript
Q-1: Write a query to display all Engineering employees ordered by salary from highest to lowest.
0:00डिअ स्टूडेंट्स वेलकम टू गेट स्मेशर्स। एक
0:02बहुत ही फेमस कोट है। डाटा इज द न्यू ऑयल
0:05एंड एआई इज़ द न्यू रिफाइनरी। मतलब अगर आज
0:08के टाइम पे किसी भी इंडस्ट्री को आगे बढ़ना
0:12है तो उसको ऑब्वियसली डेटा को तो
0:14इंपॉर्टेंट है ही। अगर हम एआई को चलाना
0:17चाहते हैं। एआई अगर मेरी रिफाइनरी है तो
0:20उसको चलाने के लिए मेरे को जो फ्यूल चाहिए
0:22वो क्या है? डेटा है। और किसी भी
0:24इंडस्ट्री में सबसे इंपॉर्टेंट चीज क्या
0:26होती है? डेटा। और इसी डेटा को अगर मुझे
0:28मैनपुलेट करना है, मतलब मुझे कुछ अपडेट
0:30करना है, डिलीशन करना है, इंसर्शन करना
0:33है, कुछ भी ऑपरेशन परफॉर्म करना है तो
0:35मुझे क्या चाहिए? एक लैंग्वेज चाहिए। और
0:37स्ट्रक्चर डेटा के केस में, रिलेशनल डेटा
0:39के केस में हमारे पास लैंग्वेज कौन सी है?
0:41एस क्यूएल। और जब भी आप किसी भी इंटरव्यू
0:44में जा रहे हो, चाहे वो सॉफ्टवेयर से
0:45रिलेटेड है, सिस्टम डिज़ाइन से रिलेटेड है,
0:48चाहे वो नेटवर्किंग से, ऑपरेटिंग सिस्टम
0:50से और सबसे इंपॉर्टेंट अगर डेटा से
0:52रिलेटेड है, मतलब डेटा एनालिटिक्स हो गया,
0:54बिज़नेस एनालिटिक्स हो गया। जहां पे भी
0:56डेटा की बात की जाएगी वहां पे सीक्वल की
0:59बात ना हो ऐसा हो ही नहीं सकता। तो इसीलिए
1:02आज की इस वीडियो में मैं आपको जितने भी
1:05पॉसिबल क्वेश्चंस हैं इंटरव्यू के वो सारे
1:08के सारे एक्सप्लेन करने जा रहा हूं। और
1:10विद क्वेरीज मतलब इंपॉर्टेंट क्वेरीज भी
1:13एक्सप्लेन करने जा रहा हूं। ऑलदो सीक्वल
1:15की कहानी स्टार्ट किससे होती है? जैसे हर
1:18एक कहानी एक स्टोरी का स्टार्ट होता है ना
1:20कि एक बार एक राजा था, एक बार की बात है,
1:22एक राजा था। ऐसे ही हमारी जो स्टोरी है
1:24सीक्वल की वो स्टार्ट होती है किससे?
1:26डीडीएल, डीएमएल, डीसीएल और इसके अलावा
1:30ट्रांजैक्शनल क्वेरी लैंग्वेज टी क्यूएल।
1:32तो यहां पे अगर बात की जाए तो मैं वो
1:34क्वेरीज आपको यहां पे नहीं बता रहा
1:35क्योंकि वो चीज आपको पता होगा। बेसिक तो
1:37आपको पता ही है भैया क्रिएट टेबल अपडेट
1:39करना है। टेबल को डिलीट करना है टेबल में
1:41से कुछ। ठीक है? ड्रॉप करना है टेबल को।
1:43ट्रंकेट करना है, सेलेक्ट करना है, डेटा
1:45ग्रांट करना है, रिवोक करना है। ये सारी
1:48चीजें कहीं ना कहीं एक बेसिक कमांड्स आ
1:50जाती है। लेकिन मैं स्टार्ट कर रहा हूं
1:51डायरेक्टली विद द क्वेरीज। तो यहां पे याद
1:54रखना जब भी क्वेरीज के ऊपर क्वेश्चन आएगा
1:57हमेशा स्टार्ट किया जाएगा आपको एक टेबल से
2:00कि भैया एक टेबल दिया हुआ है और उस टेबल
2:02के ऊपर आपको कुछ क्वेरीज लगानी है। डेटा
2:04निकालना है। तो इस इस टाइप के क्वेश्चन
2:06आपके सबसे ज्यादा इंपॉर्टेंट होते हैं। और
2:08अगर आपने ये कर लिए तो इसके बाद तो कुछ है
2:10ही नहीं। ऑलदो मैं बोल रहा हूं कि बेसिक
2:12जो है डीडीएल, डीएमएल, डीसीएल ये सारी
2:14कमांड्स भी करनी है। इसका लिंक मैं ऊपर आई
2:16सेक्शन में डाल देता हूं। आप एक बेसिक
2:18ओवरव्यू कर लेना। ऑलदो मैं ऐसा करूंगा
2:20लास्ट में इसके बारे में थोड़ा सा बता
2:22दूंगा। बट स्टार्ट करते हैं आपका क्वेरी
2:24से। ठीक है? अब सबसे पहले मैं क्या लेके
2:26आया हूं? मेरे पास एक सिंगल टेबल है। इस
2:29सिंगल टेबल के ऊपर कौन-कौन सी क्वेरीज
2:31पॉसिबल हो सकती हैं। फिर हम दो टेबल्स को
2:33जॉइन करने वाली क्वेरीज करेंगे। फिर हम
2:35सीक्वल के जो एग्रीगेट फंक्शनंस है, डेट
2:37फंक्शनंस हैं उनके ऊपर बात करेंगे। तो
2:40एक-एक करके सारे टॉपिक कवर करवाऊंगा। कोई
2:42मर्जी इंटरव्यू आ जाए। मजाल है कि आप पीछे
2:45रह जाओ। इंटरव्यूअर खड़े हो के क्लैपिंग
2:46करेगा कि यार इस बंदे के पास खतरनाक नॉलेज
2:48है। अब यहां पे स्टार्ट कर रहा हूं जी
2:50क्वेश्चन नंबर वन से। ध्यान से सुनना।
2:52राइट अ क्वेरी टू डिस्प्ले ऑल द
2:54इंजीनियरिंग एंप्लई ऑर्डर्ड बाय सैलरी
2:56फ्रॉम द हाईएस्ट टू द लोएस्ट। मेरे पास एक
2:58एंप्लई टेबल है। पहले स्कीमा को समझना
3:00जरूरी है। टेबल को समझना जरूरी है। टेबल
3:02में मेरे पास इस तरीके से 1 2 3 4 5 कितने
3:06यहां पे कॉलम्स हैं। कॉलम्स को हम
3:08एट्रिब्यूट्स भी बोलते हैं पांच। और टपल्स
3:10कितनी है? 1 2 3 4 5 6 छह टपल्स हैं मेरे
3:13पास। तो देखा जाए तो यहां पे छह टपल्स हो
3:15गई कार्डिनलिटी। और जो डिग्री है इस टेबल
3:17की या एरिटी बोलते हैं वो कितनी होगी?
3:19पांच होगी। मेरे को क्या बोल रहा है? उन
3:22सारे बंदों का डेटा जो है वो डिस्प्ले
3:24करवाओ। ऑल वो इंजीनियरिंग एंप्लई होने
3:26चाहिए। और उनकी जो सैलरी है वो हाईएस्ट से
3:29लोएस्ट में आपको डिस्प्ले करनी है। तो
3:31देखो जब भी क्वेरी लिखनी है ना आप पहले ना
3:33सेलेक्ट के ऊपर मत जाया करो। हम लोग हमेशा
3:36ना स्टार्ट करते हैं कि सेलेक्ट क्या करना
3:37है? मतलब क्या डिस्प्ले करना है? यार ये
3:39बाद में जाएंगे। हमेशा सीक्वल की क्वेरी
3:42हमेशा एग्जीक्यूट कहां से होती है?
3:44स्टार्ट होती है वो फ्रॉम से। सबसे पहला
3:46कीवर्ड एग्जीक्यूट होता है फ्रॉम। फ्रॉम
3:48एंप्लई मतलब पहले हम इस टेबल की बात कर
3:51रहे हैं। अच्छा ये टेबल है जी। इस टेबल को
3:53बुलाओ पहले तो सभा के अंदर इस टेबल को
3:55बुलाओ। इससे हम पूछेंगे क्या पूछेंगे?
3:57दूसरा कीवर्ड जो एग्जीक्यूट होगा वो होगा
4:00वेयर क्लॉज़। क्यों? क्योंकि यहां पे हमने
4:02एक कंडीशन लगा दी कि मेरे को सारी सैलरीज
4:04को शो नहीं करना। अगर सारी सैलरीज को मुझे
4:07हाईएस्ट से लो शो करना हुआ तो मुझे वेयर
4:09लगाने की जरूरत नहीं। मैं डायरेक्ट ऑर्डर
4:10वाइज से कर लूंगा। लेकिन इस बंदे ने थोड़ी
4:12सी कंडीशन दे दी कि इंजीनियरिंग
4:14डिपार्टमेंट होना चाहिए। तो कोई बात नहीं।
4:15वेयर डिपार्टमेंट इज़ इक्वल टू
4:17इंजीनियरिंग। तो भैया इन सारे में से
4:19सिर्फ इंजीनियरिंग वाला ये क्या कर लेगा?
4:21सेलेक्ट कर लेगा। बाकियों को एक तरह से
4:22रिजेक्ट कर देगा। ये नहीं लगाता लाइन तो
4:25फिर सों के ऊपर ये क्वेरी रन होगी। उसके
4:27बाद नेक्स्ट हमने क्या कर दिया? जी ऑर्डर
4:29बाय। ऑर्डर बाय क्या कर दिया? सैलरी
4:32डिसेंडिंग। लेकिन उससे पहले याद रखना कि
4:34यहां पे ऑर्डर बाय सैलरी डिसेंडिंग और
4:37असेंडिंग दो चीजें होती है हमारे पास। या
4:40तो इंक्रीजिंग ऑर्डर में या फिर
4:41डिक्रीजिंग ऑर्डर में। तो इसने बोला
4:42हाईएस्ट टू लोएस्ट। तो मतलब ऑब्वियसली
4:45आपको डिक्रीजिंग ऑर्डर में या फिर जिसको
4:46हम बोलते हैं डिसेंडिंग ऑर्डर। बाय
4:48डिफॉल्ट ये असेंडिंग ऑर्डर में कर देता
4:49है। अगर आप कुछ भी मेंशन नहीं करते। सिर्फ
4:51लिख दोगे ऑर्डर बाय सैलरी तो ये असेंडिंग
4:53ऑर्डर में कर देगा लेकिन इसने डिसेंडिंग
4:55कहा है तो हम डी ई एस लिख देंगे वैसे ही
4:57असेंडिंग के लिए एएससी लिखते हैं तो भैया
4:59इसने क्या करना है सिर्फ इंजीनियरिंग
5:01वालों को सेलेक्ट कर लेना है और उसमें जो
5:03सैलरीज हैं एक दो और इसके बाद तीन तो इसको
5:07क्या करेगा हाईएस्ट टू लोएस्ट करेगा तो 95
5:09वाली पहले फिर 90 वाली और फिर 72 वाली और
5:13उसके कॉरेस्पोंडिंग मेरे को दिखाना क्या
5:15है जो भी मुझे दिखाना चाहता हूं सारा कुछ
5:17दिखाना है तो स्टार लगा दो अगर आपको सिर्फ
5:19एम्प्लई का नेम या सैलरी दिखानी है तो आप
5:21दो चीजों को यहां पे दिखा सकते हो। बस ये
5:24पॉइंट जो है वो याद रखना। इसके अलावा
5:26इसमें कुछ नहीं है। बाकी की कहानी वैसे
5:28मैंने आपको समझा ही दी है। ठीक है?
5:30एक्स्ट्रा पॉइंट भी मैं बताता रहूंगा।
5:32नेक्स्ट राइट अ क्वेरी टू फाइंड द नंबर ऑफ़
5:34एंप्लाइजज़। अच्छा इसका इन केस आपको
5:36स्नैपशॉट लेना है तो आप इसको स्नैपशॉट ले
5:39सकते हो रोक के। ठीक है? नेक्स्ट। राइट अ
Q-2: Write a query to find the number of employees in each department.
5:41क्वेरी टू फाइंड द नंबर ऑफ़ एंप्लाइजज़ इन
5:44ईच डिपार्टमेंट। वेरीेंट। बहुत इंपॉर्टेंट
5:46है गाइस। मैं सिर्फ क्वेरीज़ नहीं करवा
5:47रहा। जितने भी इंपॉर्टेंट कीवर्ड्स हैं वो
5:49बता रहा हूं। पिछली में हमारा ऑर्डर बाय
5:51हो गया। वेयर कैसे यूज़ करते हैं? हो गया।
5:53यहां पे इंपॉर्टेंट आ गया जी आपका ग्रुप
5:55बाय। अब मुझे ग्रुप बनाने हैं। जैसे क्लास
5:58में ग्रुप्स होते हैं ना ऐसे ही हमारे पास
6:01जैसे कॉलेज में सीएससी अलग है, आईटी अलग
6:03है, ईसी अलग है, मैकेनिकल अलग है। ऐसे ही
6:06हमारे पास एंप्लई टेबल में भी तो
6:07डिपार्टमेंट अलग-अलग है। इंजीनियरिंग वाले
6:09अलग बंदे हैं। जी। सेल्स वाले अलग बंदे
6:11हैं। आईटी वाले अलग होंगे। मतलब एचआर वाले
6:14अलग होंगे। तो मैंने सिर्फ छोटा सा टेबल
6:16लिया है बट सेम क्वेरी चाहे आप 1 लाख 10
6:18लाख रो पे चला दो आंसर आपको सेम ही देगी।
6:22तो स्टार्ट करते हैं फ्रॉम एंप्लई हमेशा
6:24स्टार्ट करना है फ्रॉम एंप्लई से। मेरे को
6:27सबसे पहले किस टेबल में से? उसके बाद हम
6:28लगाएंगे जी ग्रुप बाय। मेरे को ऑब्वियसली
6:31क्या करना है? फाइंड द नंबर ऑफ एंप्लाइजज़
6:33इन ईच डिपार्टमेंट। तो पहले तो
6:35डिपार्टमेंट वाइज़ ग्रुप बना दो। तो
6:37डिपार्टमेंट वाइज़ ग्रुप बनाने के लिए
6:38ग्रुप बाय डिपार्टमेंट कर दिया। तो ये
6:40क्या करेगा? इंटरनली बता रहा हूं। अंदर की
6:42कहानी बता रहा हूं। अंदर की कहानी क्या
6:43होगी? इंजीनियरिंग इंजीनियरिंग
6:45इंजीनियरिंग अलग हो गया। सेल सेल सेल अलग
6:48हो गया। आई थिंक तीन है सेल के। हां सेल
6:50सेल सेल अलग हो गया। इंजीनियरिंग इंजीनियर
6:52अलग हो गया। इस इस तरीके से मान के चलो
6:54ऐसे आउटपुट आएगी। उसके बाद क्या होगा?
6:56सेलेक्ट डिपार्टमेंट कॉमा काउंट स्टार एज
6:59एंप्लॉय। तो मैंने क्या किया? डिपार्टमेंट
7:01तो ऑब्वियसली शो करेगा ही कि भैया इस
7:03तरीके से आउटपुट आएगी। एक इंजीनियरिंग और
7:05एक सेल्स। और उसके अलावा मैंने क्या लगा
7:06दिया? काउंट स्टार। दिस इज़ अ एग्रीगेट
7:08फंक्शन। एग्रीगेट फंक्शन में हमने काउंट
7:10स्टार लगाया। ये काउंट कर लेगा। भैया इस
7:12ग्रुप में कितने बंदे हैं? तीन बंदे हैं।
7:14इस ग्रुप में कितने बंदे हैं? तीन बंदे
7:16हैं। यही तो शो करना है। इसको आउटपुट में
7:19शो कर देगा। अब यहां पे छोटा सा डाउट आपके
7:21दिमाग में आ सकता है कि सर ये क्या लिख
7:23दिया आपने? काउंट स्टार के साथ एज एंप्लई
7:25अंडरस्कोर काउंट ये क्या है कि अगर यहां
7:27पे आप कुछ नहीं शो करते ना तो ये काउंट
7:29स्टार करके दिखा देगा। अगर आपने इसका एल
7:32एलआई क्रिएट करना है। एक डमी नाम क्रिएट
7:34करना है इस कॉलम का तो क्योंकि इस कॉलम का
7:37नाम तो डिपार्टमेंट है ही। इस कॉलम का नाम
7:39अगर आप देना चाहते हो तो आप अपने हिसाब से
7:41कुछ ए बी सी एम्प्लई अंडरस्कोर जो भी देना
7:43चाहते हो तो एक एलआई क्रिएट कर देता है।
7:45टेंपरेरी नेम इसको दे देगा। अच्छा इसी में
7:48अगर आपको बोल दें कि उन सारे एंप्लाइज या
7:51उन सारे डिपार्टमेंट्स का नेम बताओ जिसके
7:54अंदर दो से ज्यादा एंप्लई हैं। दो से
7:56ज्यादा। अब देखो यहां पे आपने काउंट तो कर
7:58लिया इसमें तीन लोग हैं। इसमें तीन लोग
7:59हैं। अगर आपने ये निकालना है कि जिस वो
8:02सारे बंदे जिसमें दो से ज्यादा बंदे हों
8:04तो आप ग्रुप बाय के नीचे ही एक क्लॉज़ लगा
8:06देते हो। हैविंग हैविंग क्या करता है
8:09हमेशा ग्रुप बाय के अंदर चलता है और ग्रुप
8:11बाय के अंदर अगर मुझे कुछ कंडीशन लगानी है
8:13वेयर क्लॉज़ तो पूरे टेबल पे लगाता है
8:16लेकिन हैविंग जो है वो कंडीशन लगाएगा
8:18लेकिन लगाएगा ग्रुप बाय के अंदर अकेला यूज़
8:21नहीं होगा ग्रुप बाय के अंदर तो मैंने
8:22क्या किया हैविंग काउंट स्टार वही काउंट
8:26स्टार तो मैंने कर ही लिया हैविंग काउंट
8:28स्टार ग्रेटर देन टू तो ये क्या करेगा
8:30पहले तो ग्रुप बना देगा बना दिए उसके बाद
8:32काउंट कर लिए तीन-तीन काउंट है अब देखेगा
8:34कि अच्छा जहांजहां पे काउंट स्टार आर
8:37ग्रेटर दैन टू है वो दिखा दो। तो
8:38ऑब्वियसली इस केस में भी आंसर तो खैर ये
8:40दोनों ही आ जाएंगे क्योंकि दोनों में ही
8:41दो से ज्यादा एम्प्लई है। बट आपको पता लग
8:44गया हैविंग को भी कैसे यूज़ करते हैं
8:46इनसाइड दैट। एलआई भी पता लग गया।
8:48एक्स्ट्रा चीजें मैं आपको सारी बताता जा
8:49रहा हूं। प्लीज नोट कर लेना यार। ऐसे हवा
Q-3: Write a query to find the second-highest distinct salary.
8:52में मत चलाना। हवा में करोगे तो आपको समझ
8:54नहीं आएगा। इवन आप ओरेकल वगैरह पे ऑनलाइन
8:57अकाउंट बना के आप उस पे इजीली क्वेरीज को
8:59रन भी कर सकते हो। टेबल को क्रिएट करो।
9:01क्वेरीज को रन करो, प्रैक्टिस करो। अगर आप
9:03नहीं डाउनलोड करना चाहते सीक्वल सर्वर या
9:05ओरेकल का कोई सॉफ्टवेयर या माय सीक्वल
9:07करोगे तो वैसे अच्छी बात है इंजीनियरिंग
9:09स्टूडेंट के पास तो होने चाहिए सारी चीजें
9:11लेकिन अगर फिर भी आप कहते हो शॉर्टकट में
9:14तो भैया ओरेकल लाइव पे या ऑनलाइन सीक्वल
9:16सर्वर आप इन चीजों पे जाओगे ना Google पे
9:18लिखो जी आपका जो है वो ऑनलाइन आ जाएगा
9:21उसमें सिर्फ आपको साइन अप करना है और ये
9:22सारा काम कर भी सकते हो देन राइट अ क्वेरी
9:25टू फाइंड द सेकंड हाईएस्ट डिस्टिंक्ट
9:28सैलरी बड़ेेंट है यार ये जो सेकंड हाईएस्ट
9:30थर्ड हाईएस्ट एनथ हाईएस्ट ये तो आते ही
9:33आते हैं। कुछ नहीं है। बड़ा सिंपल सा लॉजिक
9:35है। आपको अगर मैं बोल दूं कि सेलेक्ट
9:38मैक्स सैलरी फ्रॉम एंप्लई। सिर्फ इस पे
9:40फोकस करो। सेलेक्ट मैक्स सैलरी फ्रॉम
9:42एंप्लई। ये क्या देगा? पूरे टेबल में से
9:44सबसे ज्यादा मैक्सिमम सैलरी। तो क्या है?
9:46जी पूरे टेबल में कौन है भाई? जो सबसे
9:48ज्यादा कमा रहा है? आई थिंक यही कमा रहा
9:50है भाई। ये वाला इंजीनियरिंग वाला। आरएफ
9:51सबसे ज्यादा कमा रहा है। तो इसका आउटपुट
9:53पता है क्या आएगा? इसका आउटपुट आएगा
9:5595,000। सिर्फ अंदर वाली क्वेरी का सिर्फ
9:58इनर क्वेरी का आउटपुट बता रहा हूं। ठीक
9:59है? अब मैंने एक लॉजिक लगाया कि वो सारी
10:02सैलरी मेरे को निकाल दो मैक्सिमम लेकिन वो
10:0595 उसमें नहीं आना चाहिए। तो ऑब्वियसली
10:07मैं क्या करूंगा? सेलेक्ट मैक्स सैलरी एज
10:10जो भी मैंने नाम देना है सेकंड हाईएस्ट जो
10:11भी नाम एलआई क्रिएट कर दिया फ्रॉम एंप्लई
10:14वेयर सैलरी लेस देन दिस वेयर सैलरी लेस
10:17देन 95000 कहां-कहां पे सैलरी 95 से कम
10:21है? 1 2 3 4 5 ये सारी 95 से कम है। यस और
10:25इनमें से जो सबसे हाईएस्ट है मैक्सिमम वो
10:28निकाल दो। ये सारी 95 से कम है। लेकिन
10:30इनमें से जो मैक्सिमम है वो है 92,000 तो
10:3292,000 आपका आंसर आ जाएगा। आप लेस देन भी
10:35लगा सकते हो।
10:37नॉट इन भी लगा सकते हो। इस तरीके से
10:38मल्टीपल कीवर्ड यूज़ होते हैं। अच्छा ये
10:40सारे पॉइंट जो है वो आपको नोट होने चाहिए।
10:43वैसे डिस्टिंक्ट के लिए हम लोग एक कीवर्ड
10:45भी यूज़ करते हैं। उसका नाम होता है
10:47डिस्टिंक्ट। वो बेसिकली करता क्या है कि
10:49अगर डुप्लीकेट डेटा आ रहा है। कोई भी कॉलम
10:52में अगर डुप्लीकेट डेटा आ रहा है। जैसे
10:53फॉर एग्जांपल अगर आउटपुट आ रही है 10 10
10:5520 तो डिस्टिंक्ट क्या करता है? सिर्फ 10
10:57और 20 दिखाएगा। रिपीट नहीं करता। ये बाय
11:00चांस जो है वो अगर पूछ ले तो आपको पता
Q-4: Write a query to find employees earning more than the company average salary.
11:02होना चाहिए। इसका भी स्नैपशॉट ले देन राइट
11:05अ क्वेरी टू फाइंड द एंप्लाइजज़ अर्निंग
11:07मोर देन द कंपनीज़ एवरेज सैलरी। अब ये भी
11:09कहीं ना कहीं क्वेश्चन सैलरी से रिलेटेड
11:11है और इसमें भी एग्रीगेट फंक्शन यूज़ हो
11:13रहा है। तो देखो सबसे पहले इन क्वेरी में
11:15आप क्या लिखो? सेलेक्ट एवरेज सैलरी फ्रॉम
11:18द एंप्लई। मतलब पूरे टेबल की जो एवरेज
11:20सैलरी है वो निकाल लो। क्या आया जी? इन
11:22सबका टोटल कर दो। डिवाइड बाय छ कर दो। जो
11:26भी आउटपुट आएगा जो भी x अमाउंट आ रहा है
11:28वो x अमाउंट इसका आउटपुट आ जाएगा। सिर्फ
11:30अंदर वाली क्वेरी का ये आंसर आ जाएगा। अब
11:32मुझे वो सारी एंप्लाइजज़ की सैलरी निकालनी
11:35है जिनकी इससे ज्यादा हो। तो क्या करेंगे?
11:37बाहर एक आउटर क्वेरी में लिख दो। सेलेक्ट
11:39जो भी मैं आउटपुट में रिप्रेजेंट करना
11:41चाहता हूं। फ्रॉम एंप्लई वेयर सैलरी
11:43ग्रेटर दैन। ग्रेटर दैन में जो भी ग्रेटर
11:45दैन x आएगा इसका एवरेज वो वो सैलरीज़ आपको
11:48दिखा देगा। तो ये कितना इजी हो गया। देखो
11:50करना कितना इजी है। लेकिन इसको अगर लॉजिक
11:53के साथ समझोगे ना तो फिर आपको बड़ा मजा
11:55आएगा। ऐसे जैसे मैथमेटिक्स में होता है ना
Q-5: Write a query to find the highest salary in each department.
11:57रटने वाली चीज़ नहीं है। ये क्रमिंग नहीं
11:59करना। इसको एग्जीक्यूट करके देखोगे तो और
12:01भी मजा आएगा। वैसे मैंने अलग से बहुत सारी
12:03क्वेरीज़ ऑलरेडी बना रखी हैं गेट स्मैशर्स
12:05की प्लेलिस्ट में, सीक्वल की प्लेलिस्ट
12:07में, डीबीएमएस की प्लेलिस्ट में। आप उसको
12:09भी चेक कर सकते हो। ऑलदो आप करते भी होगे
12:11बट फिर भी ये वाली तो एक वन शॉट में पूरा
12:13ही हो गया। देन राइट अ क्वेरी टू फाइंड द
12:15हाईएस्ट सैलरी इन ईच डिपार्टमेंट। मतलब
12:18इंजीनियरिंग में कौन सबसे ज्यादा सैलरी ले
12:20रहा है? बताओ भाई। आईटी में कौन ले रहा
12:22है? सबसे ज्यादा। एचआर में कौन सबसे
12:24ज्यादा कमा रहा है? मुझे उन सबका डाटा
12:26चाहिए। तो ऑब्वियसली अब आपके दिमाग में आ
12:28जाएगा कि यार डिपार्टमेंट वाइज मुझे कुछ
12:31काम करना पड़ेगा। पूरे टेबल की नहीं मुझे
12:34हर डिपार्टमेंट की मैक्सिमम निकालनी है।
12:36तो मैं क्या लगाऊंगा? ग्रुप बाय लगा
12:38दूंगा। तो ग्रुप बाय डिपार्टमेंट करना
12:40बहुत जरूरी है। और उसके बाद सेलेक्ट
12:42डिपार्टमेंट कॉमा मैक्स सैलरी। तो ये क्या
12:44करेगा? एक तरह से ग्रुप बाय कर देगा।
12:46इंजीनियरिंग इंजीनियरिंग इंजीनियरिंग एक
12:48तरफ हो गया। सेल्स सेल्स सेल्स एक तरफ हो
12:51गया। और इंजीनियरिंग में जो भी मैक्सिमम
12:53सैलरी है सारी सैलरी है लेकिन उनमें से
12:55मैक्सिमम कौन सी है? 95 और सेल्स वाले में
12:57से मैक्सिमम कौन सी है आपकी? आई थिंक 92
13:00तो ऑब्वियसली ये क्या करेगा? 92 वाली जो
13:02है वो रिप्रेजेंट कर देगा और साथ में
13:05डिपार्टमेंट इंजीनियरिंग 95 एंड सेल्स 92
13:09तो इस तरीके से आपका आउटपुट में आ जाएगा।
13:11अच्छा इसमें एक और चीज यहां पे याद रखना
13:13कि ग्रुप बाय में जो भी कीवर्ड हम लोग यूज़
13:16करते हैं, जो भी एट्रिब्यूट हम ग्रुप बाय
13:17में यूज़ करते हैं ना, वही सेम एट्रिब्यूट
13:20आपका सेलेक्ट के साथ होना चाहिए। लेकिन
13:22अगर आप कोई एक्स्ट्रा एट्रिब्यूट जैसे
13:24मैंने ग्रुप बाय किया डिपार्टमेंट तो आपका
13:26डिपार्टमेंट ही आ सकता है सेलेक्ट में कोई
13:28और एट्रिब्यूट नहीं आ सकता। अगर आप कोई और
13:30एट्रिब्यूट यूज़ करना चाहते हो आपके दिमाग
13:31में आएगा सर सैलरी तो आपने यूज़ की है
13:34लेकिन सैलरी मैंने अकेला यूज़ नहीं किया।
13:36उसको मैंने एग्रीगेट फंक्शन के साथ यूज़
13:38किया है। तो मैक्स, मीन, काउंट, सम ये
13:41सारे के सारे आपके जो है वो एवरेज ये
13:44पांचों जो है वो आपके यूज़ हो सकते हैं
13:45एग्रीगेट। लेकिन उसके अलावा डायरेक्टली आप
13:48यूज़ नहीं कर सकते। अगर डायरेक्टली करना है
13:50तो फिर आपको ग्रुप बाय के साथ दोनों
13:51कीवर्ड जो भी आप करना चाहते हो अभी आपको
13:54दिखाता हूं। नेक्स्ट वाले क्वेश्चन में
Q-6: Write a query to find employees whose salary is higher than their manager salary.
13:55आपको पता लगेगा। ये देखो राइट अ क्वेरी टू
13:58फाइंड द एंप्लाइजज़ हुस सैलरी इज़ हायर देन
14:00देयर मैनेजर सैलरी। अगेन बड़ा इंपॉर्टेंट
14:03है जी। मैनेजर की सैलरी से ज्यादा सैलरी
14:05हो। वो बंदा बताओ भाई। ये भी कमाल का ही
14:08बंदा होगा कोई जो अपने ही मैनेजर से
14:10ज्यादा कमा रहा है भाई हमें ढूंढना पड़ेगा
14:11ऐसा कौन सा खतरनाक है अब मेरा टेबल तो एक
14:14है अब इस टेबल में मैं निकालूं कैसे कि
14:16भैया वो एंप्लई भी है और मैनेजर से ज्यादा
14:19कमा रहा है ध्यान से सुनना इसके लिए लगाना
14:22पड़ेगा सेल्फ जॉइन सेल्फ जॉइन क्या कहता है
14:24कि एक टेबल को उसी से मल्टीप्लाई करो
14:26मैंने जानबूझ के इस टेबल को इसी से
14:28मल्टीप्लाई करके यहां पे लिख भी दिया ताकि
14:30आपको समझा सकूं करना क्या है फ्रॉम को
14:33देखो यहां पे क्या है फ्रॉम सिर्फ फ्रॉम
14:34को देखो बाकियों को भूल जाओ फ्रॉम एंप्लॉय
14:37्लॉई ई मैंने एक छोटा नाम क्रिएट कर दिया
14:39एलाइस क्रिएट कर दिया जॉइन एंप्लई एम मतलब
14:43एक ही ए्प्लई का मैंने एक एलाइस बना दिया
14:46ई और उसी एंप्लई का मैंने एक एलाइस बना
14:48दिया नाम रख दिया उसका एम छोटा सा ताकि
14:51बार-बार बड़ा-बड़ा ए्प्लई मैनेजर ये सब ना
14:53लिखना पड़े ऑन मैंने यहां पे जो जॉइन किया
14:57है दोनों टेबल को मतलब एक ही टेबल को खुद
14:59से सेल्फ जॉइन किया है हमेशा जॉइन जब भी
15:01लगता है तो याद रखना आपकी जो एक कॉमन
15:04एट्रिब्यूट है उसको हमेशा बराबर रखना
15:06पड़ेगा तो ऑन ई डॉट मैनेजर आईडी इक्वल टू
15:10एम डॉट एंप्लई आईडी कहने का मतलब है वो
15:12मैनेजर और एंप्लई पहले तो आपको चेक करना
15:15पड़ेगा देखो एंप्लई डॉट ई डॉट मैनेजर आईडी
15:19ई डॉट मैनेजर आईडी क्या है यहां पे 105
15:21इसको आप e मान लो और इसको आप एम मान लो है
15:24एक ही टेबल लेकिन उसको मैंने एक तरह से
15:26डमी उसका आईडिया जो है वो नया कॉपी क्रिएट
15:29कर दिया क्लोन क्रिएट कर दिया ठीक है अब
15:31मैं बोल रहा हूं e डॉट मैनेजर आईडी मैनेजर
15:33आईडी क्या है 105 इक्वल टू m डॉट एंप्लई
15:36आईडी। अब एंप्लई आईडी में 105 कहां है? ये
15:39रहा। मेरे को सबसे पहले तो ये भी पता
15:41लगाना पड़ेगा ना कि भैया वो बंदा भी है और
15:43वो मैनेजर भी है। पहले पता तो हां जी। 105
15:46एक बंदा है जो किसी का मैनेजर भी है और यस
15:49105 मेरा एंप्लई है। ठीक है ना? ऐसा भी हो
15:52सकता है कि भैया कोई बंदा जिसका मैनेजर है
15:54ही नहीं। जैसे ये देखो ये है ही नहीं। इन
15:56ये खुद ही मैनेजर है। इनका कोई मैनेजर है
15:58ही नहीं। तो फिर ये मेरे आउटपुट में आने
15:59नहीं चाहिए। तो ये पॉइंट थोड़ा सा यहां पे
16:01ध्यान रखना पड़ेगा। तो 105 105 मैच हो
16:04गया। उसके बाद E डॉट सैलरी इज़ ग्रेटर दैन
16:06M डॉट सैलरी। अब E की जो सैलरी है देखो
16:09क्या है जी E की सैलरी 95000 और एम में जो
16:12इसकी सैलरी है वो क्या है? 90 95000 इज़
16:15ग्रेटर दैन 90 यस लो जी मिल गया आपको पहला
16:18ही बंदा। आरव है वो वो खतरनाक बंदा कौन
16:22है? आरव। आरव एक ऐसा बंदा है जो एंप्लई है
16:25लेकिन अपने मैनेजर 105 रोहन से ज्यादा कमा
16:29रहा है। क्योंकि रोहन 90,000 और यह कमा
16:31रहा है 95,000। तो ये मेरा आउटपुट में आ
16:34जाएगा। आउटपुट में हमने क्या दिखाना है?
16:36जो भी आप दिखाना चाहते हो ई डॉट एंप्लई
16:38नेम, सैलरी जिस जो भी दिखाना चाहते हो आप
16:40उस तरीके से नाम डॉट यूज करके ई डॉट या एम
16:43डॉट इस तरीके से दिखा सकते हो। ऐसे ही एक
16:46और भी चेक कर लो। जैसे फॉर एग्जांपल 105
16:48भैया रोहन तो एक और बंदे का भी है। मीरा
16:51का भी है वो मैनेजर। लेकिन मीरा की सैलरी
16:5472,000 है और उसके मैनेजर की 90 तो ये
16:56नहीं आउटपुट में आएगा। फिर आ गया जी उसके
16:58बाद कबीर 65,000 इसकी क्या है जी 106। 106
17:01बंदे की सैलरी क्या है? नेहा की सैलरी है
17:03जी 88,000 बट यार एंप्लई कम ही कमा रहा
17:06है। लेकिन अगर मैं यहां पे देखूं लो जी एक
17:09और मिल गया खतरनाक बंदा ईशा ईशा जी कमा
17:12रही है 92,000 और उनका जो मैनेजर है 106
17:15नेहा वो कमा रही है 88,000। लो जी 88 से
17:18ज्यादा कमा रही है ये। तो यानी आउटपुट में
17:20ईशा एंड आरव आ जाएगा। तो ये चीजें आपको
17:23थोड़ी सी जब करोगे ना दोबारादबारा थोड़ा
17:26सा प्रैक्टिस करोगे तो आपको समझ में आ
17:28जाएगा। ये चीजें करनी बहुत जरूरी है
17:30क्योंकि इनसे ऊपर कुछ है ही नहीं और इसका
Q-7: Write a query to display each order with the customer name.
17:32एक बार स्नैपशॉट जरूर ले लेना ताकि आपको
17:34पता लगे। देन राइट अ क्वेरी टू डिस्प्ले
17:37ईच ऑर्डर विद इन द विद द कस्टमर नेम।
17:40अच्छा राइट अ क्वेरी टू डिस्प्ले ईच ऑर्डर
17:42विद द कस्टमर नेम। मतलब देखो सबसे पहले तो
17:44यहां पे अब दो टेबल आ गए हैं। पहले तो
17:46समझो एक टेबल है मेरा कस्टमर एक टेबल है
17:49ऑर्डर। कस्टमर जो है वो ऑर्डर दे रहे हैं
17:51मल्टीपल। ठीक है? अब मुझे क्या करना है कि
17:53भैया कस्टमर ने कुछ आर्डर किया। किस बंदे
17:56ने जो ऑर्डर किया है उसका नेम क्या है?
17:58जैसे अदिति ने क्या ऑर्डर किया है? राहुल
18:01ने ऑर्डर किया है या नहीं किया? सिमरन ने
18:03ऑर्डर किया है या नहीं किया? अर्जुन ने
18:05ऑर्डर किया है या नहीं किया? ये मुझे
18:06फाइंड आउट करना है। तो कैसे फाइंड आउट
18:08करोगे? ऑब्वियसली पहले तो आपको फ्रॉम में
18:10ऑर्डर टेबल जॉइन करना पड़ेगा कस्टमर टेबल
18:14के साथ। ठीक है? तो मैंने ऑर्डर का एक
18:15छोटा नाम बना दिया। आप नहीं बनाना चाहते
18:17उसको भी लिख सकते हो। फिर आपको लिखना
18:18पड़ेगा ऑर्डर अंडरस्कोर दिस इक्वल टू
18:21कस्टमर दिस दिस दिस। तो इसीलिए हम छोटा
18:23नेम यूज़ करते हैं। ऑर्डर ओ जॉइन कस्टमर
18:26सी। और मैंने क्या किया? ओ कस्टमर आईडी
18:29एंड C डॉट कस्टमर आईडी। मतलब वो कस्टमर जो
18:32है वो आपके कस्टमर टेबल में है। और अगर
18:35उसने कुछ ना कुछ ऑर्डर दिया होगा तो वो
18:37उसकी एंट्री ऑर्डर में जरूर होगी। अदरवाइज़
18:39तो ऑर्डर में एंट्री होएगी नहीं। देखो वन
18:41ने ऑर्डर दिया है। इसलिए इसका नाम आ गया।
18:43ठीक है जी? यहां पे इसकी आईडी आ गई। तो वन
18:45यस टू वन यस। है। वन ने तो दो ऑर्डर दिए
18:48हैं। टू ने भी दो ऑर्डर दिए हैं। थ्री ने
18:49भी एक ऑर्डर दिया है। लेकिन फोर ने कोई
18:52ऑर्डर ही नहीं दिया। यानी अर्जुन ने कोई
18:53ऑर्डर नहीं दिया। तो 1 = 1 मैच करेगा। यस।
18:571 = 1 मैच कर रहा है। टू यहां पे भी मैच
19:01कर रहा है। थ्री के कॉस्पोंडिंग में मेरे
19:02को मैच मिल गया। लेकिन फोर के कॉस्पोंडिंग
19:04मेरे को कोई मैच नहीं मिला। यानी आपका जो
19:07है वो फोर आउटपुट में नहीं आएगा। सिंपली
19:09ये दिखा देगा अदिति, राहुल एंड सिमरन। तो
19:13यहां पे ऑर्डर आईडी क्या है? जी आपकी?
19:14ऑर्डर आईडी है 501 और उसके कॉरेस्पोंडिंग
19:17जो है वो कस्टमर का नेम है अदिति 502
19:20कस्टमर का नेम है अदिति 503 कस्टमर का नेम
19:24है जी आपका राहुल 504 कस्टमर का नेम है
19:27राहुल और 505 कस्टमर का नेम है सिमरन बस
19:30अर्जुन नहीं आएगा आउटपुट में ये चीज आपको
19:32दिखा इसके अलावा अगर आपने अमाउंट या
19:34स्टेटस भी दिखाना है वो भी दिखा सकते हो
19:36बट मेन कहानी आपको पता लग गया कि भैया इन
19:38दोनों को जॉइन कैसे करते हैं इसको नेचुरल
19:40जॉइन या फिर इक्विजॉइन भी बोल सकते हो
19:42क्योंकि दोनों में जो कॉमन एट्रिब्यूट है
19:44उसको हम बराबर रख रहे हैं। उसको इक्वल
19:46करने की कोशिश कर रहे हैं। तो ये चीज होती
19:48है। नेक्स्ट राइट अ क्वेरी टू फाइंड द
Q-8: Write a query to find customers who have never placed an order.
19:51कस्टमर्स हु हैव नेवर प्लेस्ड एन ऑर्डर।
19:53अगेन बड़ा इंपॉर्टेंट है। हर क्वेश्चन में
19:55एक नया ट्विस्ट है। भैया उन बंदों का नाम
19:57बताओ जिन्होंने अभी तक ऑर्डर ही नहीं
19:59प्लेस किया। जैसे अभी हमने किया है। कौन
20:01है जी वो बंदा? अर्जुन है। लेकिन अर्जुन
20:03ऐसा थोड़ी ना कि आप सेलेक्ट स्टार फ्रॉम
20:05टेबल वेयर नेम इज़ इक्वल टू अर्जुन। भैया
20:08ये तो हमने देख के पता लगाया है। अदरवाइज
20:10क्वेरी में कैसे करना पड़ेगा? तो क्वेरी
20:12में याद रखना इसमें यूज़ करना पड़ेगा हमें
20:15लेफ्ट आउटर जॉइन। लेफ्ट आउटर जॉइन बेसिकली
20:17क्या करता है? अगर मेरे दो टेबल हैं उन
20:20दोनों टेबल में जो कॉमन एट्रिब्यूट है
20:22कॉमन जो है जो दोनों टेबल में है उसको तो
20:24वो आउटपुट में दिखाएगा ही। नेचुरल जो है
20:26वो इक्विजॉइन वाला आउटपुट में आएगा। लेफ्ट
20:29में जो नहीं है ना जो पार्टिसिपेट नहीं कर
20:31रहा उसका आउटपुट भी आता है। तो याद रखना
20:33ये पता है क्या करेगा? यह इस तरीके से
20:35दिखाएगा कि भैया 501 है और उसके
20:38कॉस्पोंडिंग वन है। 502 है वन है। मतलब वन
20:40वन यहां पे भी है। ठीक है? और 502 के
20:43कॉस्पोंडिंग जो है वो वन है। 503 के
20:45कॉस्पोंडिंग टू है। 504 के कॉस्पोंडिंग टू
20:47है। 505 के कॉस्पोंडिंग थ्री है। लेकिन जो
20:50फोर है ना फोर के कॉस्पोंडिंग इसको कुछ
20:53नहीं मिल रहा। तो वन वाली आउटपुट टू और
20:55थ्री ये तो आपकी आउटपुट में आएगी क्योंकि
20:57ये तो दोनों में कॉमन है। वन मैच कर रहा
20:59है, टू मैच कर रहा है, थ्री मैच कर रहा
21:01है। लेकिन फोर के कॉरेस्पोंडिंग जो आर्डर
21:03आईडी है वो होगी नल। क्योंकि वन के
21:06कॉस्पोंडिंग भी ऑर्डर आईडी है। टू के
21:07कॉस्पोंडिंग भी ऑर्डर आईडीज है। थ्री के
21:09कॉस्पोंडिंग भी ऑर्डर आईडी है। लेकिन फोर
21:11के कॉस्पोंडिंग ऑर्डर आईडी क्या होगी? नल।
21:13और मैंने क्या किया यहां पे? वेयर ऑर्डर
21:15आईडी इज़ इक्वल टू नल। इज़ नल लिख दोगे तब
21:18भी काम चल जाएगा। इज़ नल। तो यानी ये सिर्फ
21:21फोर वाला आउटपुट में दिखा देगा। बाकियों
21:24को छोड़ देगा और फोर वाला ही तो हमें चाहिए
21:26जिसने अभी तक कोई आर्डर नहीं दिया है। तो
21:29ये पॉइंट बहुत इंपॉर्टेंट है। अगर आप
21:31डिटेल में लेफ्ट आउटर राइट आउटर समझना
21:33चाहते हो तो एक बार मैं ऊपर आई सेक्शन में
21:34लिंक दे देता हूं। आप फुल आउटर सारे कर
21:36लेना एक बार ताकि आपको डिटेल में भी पता
21:38लग जाए कि ये कैसे काम करते हैं। वैसे
21:40मैंने आपको मेन कहानी बता ही दी है।
Q-9: Write a query to find customers who placed more than one order.
21:43नेक्स्ट आ गया राइट अ क्वेरी टू फाइंड द
21:45कस्टमर्स हु प्लेस्ड मोर देन वन ऑर्डर।
21:47मतलब अब ये बंदे बताओ कि जिन्होंने एक से
21:49ज्यादा ऑर्डर दिए हैं तो कोई बात नहीं।
21:51इसमें इतनी कोई बड़ी बात है ही नहीं। मुझे
21:53पता है एक कस्टमर है, एक ऑर्डर है। अब
21:55ऑब्वियसली कस्टमर और यहां पे उस कस्टमर ने
21:58कितने-कितने ऑर्डर दिए हैं मेरे को यहां
21:59से पता लग जाएगा। लेकिन सबसे पहले तो
22:02फ्रॉम कस्टमर सी जॉइन ऑर्डर ओ ऑब्वियसली
22:05ये लाइन तो कॉमन है। दोनों टेबल को जॉइन
22:07तो करना पड़ेगा। क्योंकि कुछ डेटा यहां पे
22:09पड़ा है। कुछ डेटा मेरा यहां पे पड़ा है।
22:11अब यहां पे देखो ग्रुप बाय मैंने क्या
22:12किया? पहले तो कस्टमर आईडी इक्वल टू
22:14कस्टमर आईडी। ये तो जॉइन की कंडीशन है। जब
22:16भी हम ज्वॉइ करते हैं ना गाइस नोट कर लो
22:19दोनों टेबल में जो कॉमन एट्रिब्यूट होता
22:22है उसको हमेशा बराबर रखना पड़ता है कि इधर
22:24की आईडी और इधर की आईडी मैच कर रही है।
22:27पहले तो वो निकाल लो। हो सकता है कि
22:29अर्जुन बंदे ने अभी तक ऑर्डर दिया ही नहीं
22:31है। तो अर्जुन को हम कंसीडर ही क्यों
22:33करें? जो बंदा अभी तक आर्डर ही नहीं दे
22:35रहा उसको भाई यहां से बाहर निकालो। हमें
22:37सिर्फ किससे मतलब है? 1 2 3 और यहां पे
22:40कोई 1 2 इनसे मतलब है। मतलब फोर वाले से
22:43हमें कोई मतलब नहीं है। यह सबसे पहले आपका
22:45इक्व जॉइन करता है। उसके बाद ग्रुप बाय कर
22:48दिया हमने कस्टमर आईडी एंड कस्टमर नेम।
22:51कस्टमर आईडी से ग्रुप बाय करोगे तो
22:54ऑब्वियसली ये क्या आउटपुट में आएगा? 1 2 3
22:57अब आपको पता है वन के कॉस्पोंडिंग कितने
22:59लोग हैं जी? वन के वन ने कितने ऑर्डर दिए
23:00हैं? दो ऑर्डर दिए हैं। टू ने कितने आर्डर
23:02दिए हैं? टू थ्री ने सिर्फ एक ऑर्डर दिए।
23:04तो वो काउंट कर लेगा क्योंकि जैसे ही आपने
23:06ग्रुप बाय करा वो काउंट। लेकिन हैविंग
23:08काउंट्स आर मैंने बताया था ना हैविंग
23:10काउंट्स आर ग्रेटर देन वन तो भैया ये
23:12आउटपुट से निकल जाएगा सिर्फ ये दो रह
23:14जाएंगे और ये दो कौन है ये कौन है जी
23:17कस्टमर वन एंड कस्टमर टू अदिति है एंड
23:20राहुल है तो अदिति एंड राहुल जो है वो
23:22दोनों आपके आउटपुट में आ जाएंगे और अगर आप
23:24सोच रहे होंगे कि सर हमने कस्टमर नेम तो
23:26ठीक है हमने यहां पे ये क्यों दिया है
23:30कस्टमर का अच्छा कस्टमर नेम क्यों दिया है
23:32यहां पे क्योंकि गाइस मैंने अभी बताया ना
23:34ग्रुप बाय के साथ जो भी हम कीवर्ड यूज़
23:37करते हैं जो जो भी हम एट्रिब्यूट यूज़ करते
23:38हैं। हम सिर्फ उसको यहां पे यूज़ कर सकते
23:40हैं। लेकिन अब मुझे क्वेश्चन में पूछा था
23:42कस्टमर का नेम बताना है। अच्छा नहीं भी
23:44बोला चलो कोई बात नहीं। कस्टमर का अगर नेम
23:46भी प्रिंट करना चाहते हो आईडी तो प्रिंट
23:48कर देगा ये वन टू। लेकिन अगर उनका नेम भी
23:50प्रिंट करना चाहते हो अदिति एंड राहुल तो
23:52उसके लिए आपको ग्रुप बाय में कस्टमर नेम
23:54भी लिखना पड़ेगा। तभी आप इस चीज को यहां
23:57पे यूज़ कर सकते हो। अदरवाइज़ आप लिख नहीं
23:59सकते। क्योंकि या तो वो ग्रुप बाय में यूज़
24:01हो रहा हो वही एट्रिब्यूट या फिर उसके साथ
24:04कोई ऐसा एट्रिब्यूट जिसमें कोई ना कोई
24:07एग्रीगेट फंक्शन यूज़ कर सकते हैं। बट
24:09इसमें एग्रीगेट आपका यूज़ हो ही नहीं रहा
24:11है। काउंट स्टार तो आप डायरेक्टली कर रहे
24:12हो। यहां पे किसी के साथ जो है वो
24:14एट्रिब्यूट के साथ नहीं लगा रहे। ठीक है?
24:16तो आई होप ये चीजें आपको थोड़ी सी समझ में
24:18आ रही होंगी। क्योंकि कई कई क्वेश्चन ना
24:21थोड़े से टिपिकल होते हैं। लेकिन जब आप
24:23दोबारा करोगे ना इसको समझने की कोशिश
24:25करोगे तो मस्त ऐसे मस्के की तरह समझ में
Q-10: Write a query to find the highest-spending customer based only on delivered orders.
24:28आएगा। देन राइट अ क्वेरी टू फाइंड द
24:30हाईएस्ट स्पेंडिंग कस्टमर बेस्ड ऑन देयर
24:33डिलीवर ऑर्डर। मतलब जो बंदा सबसे ज्यादा
24:36स्पेंड कर रहा है भाई आप भी बताओ कर रहे
24:37हो कि नहीं? आज के टाइम पे सब लोग जो है
24:40वो ऑनलाइन शॉपिंग करते हैं। तो मेरे को वो
24:42करना है भैया जिनजिनों ने सबसे ज्यादा
24:44पैसे खर्चे हैं उनका नेम बताओ जी। तो यहां
24:46पे अदिति, राहुल, सिमरन और इनमें से सबसे
24:49ज्यादा। तो अगर आपका स्टेटस देखा जाए तो
24:51डिलीवरी डिलीवरी डिलीवर यह पेंडिंग है और
24:53यह कैंसिल्ड है। तो जिनका आर्डर डिलीवर हो
24:55चुका है और जिनका टोटल सबसे ज्यादा है
24:58मुझे वो निकालना है। तो देखो ध्यान से
25:00सबसे पहले तो फ्रॉम कस्टमर का मैंने
25:02एनालाइज़ कर दिया सी जॉइन ऑर्डर ओ और यहां
25:05पे कॉमन एट्रिब्यूट को मैंने इक्वल रख
25:06दिया। ये तो भैया जॉइन की कंडीशन है ही
25:08बाय डिफ़ॉल्ट। उसके बाद मैंने क्या किया?
25:10वेयर स्टेटस इज़ इक्वल टू डिलीवर। सबसे
25:13पहले तो भैया स्टेटस डिलीवर जो डिलीवर ही
25:15नहीं हुए उनको हमने काउंट नहीं करना। तो
25:17यानी पेंडिंग वाले को काट दो, कैंसिल वाले
25:20को काट दो। सिर्फ मेरे को इन तीनों से
25:22मतलब है डिलीवर वाले से। ठीक है? फिर
25:24ग्रुप बाय कस्टमर आईडी। अब मैंने क्या
25:27किया? ग्रुप बाय कर दिया कस्टमर आईडी। तो
25:29ग्रुप बाय करोगे तो वन वन इकट्ठा हो गया
25:31और टू। अब आपके दिमाग में सर टू ने भी तो
25:34दो किए लेकिन गाइस वो डिलीवर नहीं है। तो
25:36ये वेयर क्लॉज़ से निकल जाएगा। तो वन वन
25:38वाले कितने बंदे हैं? दो बंदे हैं और टू
25:40वाला सिर्फ एक बंदा है और यहां पे उसके
25:42बाद हमने क्या किया? ग्रुप बाय तो कर ही
25:43दिया। उसके बाद हमने ऑर्डर बाय कर दिया
25:45टोटल स्पेंडिंग डिसेंडिंग में। मतलब इनका
25:48जो टोटल ऑर्डर है क्योंकि हमने यहां पे
25:50क्या निकाला है? सम ऑफ़ द अमाउंट निकाल
25:52दिया। तो सम ऑफ़ द अमाउंट मतलब इन दोनों का
25:54सम करोगे तो 24 ये हो गया 5600 और इसका सम
25:58हो गया जी आपका 1800। ठीक है? तो इसमें से
26:01मैंने क्या कर दिया जी? लिमिट वन। लिमिट
26:04वन का मतलब होता है कि जो सबसे ऊपर वाली
26:06रो है उसको सेलेक्ट कर लेगा। अगर मल्टीपल
26:08रो है। लिमिट वन का मतलब है सबसे ऊपर
26:10वाली। लिमिट टू का मतलब है दो ऊपर वाली।
26:12लिमिट थ्री का मतलब ऊपर की तीन। बट हमें
26:14तो सिर्फ वो वाला चाहिए जो सबसे हाईएस्ट
26:16जो है वो सामान ले रहा है। सबसे ज्यादा
26:18खर्च रहा है पैसे। तो वो मेरा जो है वो
26:20अदिति आ जाएगा। तो इस तरीके से क्वेश्चंस
26:23को थोड़ा-थोड़ा करके जब आप इसको ब्रेक कर
26:26करके समझोगे ना तब आपको चीजें और मजे से
26:28समझ में आएंगी। और सबसे बढ़िया जी
26:30एग्जीक्यूट करके देखो। तो आई होप ये वाले
26:32क्वेश्चन तो बहुत समझ में आ गए होंगे। अब
26:34नेक्स्ट टाइप के क्वेश्चंस पे चलते हैं।
Q-11: TRUNCATE vs DELETE — Remove all rows quickly while keeping the table.
26:36नेक्स्ट हमारे पास है क्वेश्चन नंबर 11 और
26:38ये सिनेरियो बेस्ड क्वेश्चन है। क्या बोल
26:40रहा है? ए टेबल हैज़ 100 मिलियन रिकॉर्ड्स
26:43एंड यू वांट टू रिमूव ऑल रिकॉर्ड्स एज
26:46क्विकली एज़ पॉसिबल व्हाइल कीपिंग द टेबल
26:49व्हिच एसक्यूएल कमांड विल यू यूज़? तो यहां
26:52पे क्वेश्चन आया हुआ है आपका डिलीशन के
26:55ऊपर कि भैया अगर मेरे को डिलीट करनी है
26:56रोज़। तो यहां पे दो होती है हमारे पास। एक
26:58तो होती है ट्रंकेट जो कि डीडीएल के अंदर
27:01आती है और एक होती है डिलीट कमांड जो कि
27:03डीएमएल के अंदर आती है। लेकिन अगर मुझे
27:05क्विकली करना है एक बार में सारी रोज़ को
27:07डिलीट करना है तो हम लोग यूज़ करते हैं
27:09ट्रंकेट कमांड। ट्रंकेट टेबल और उसके बाद
27:12हम लोग टेबल का नेम। कई जगह पे डिपेंड
27:15करता है थोड़ा सा। कई बार ओरेकल में,
27:17सीक्वल सर्वर में, मायक्यूएल में थोड़ा
27:19बहुत सिंटेक्स का फर्क होता है। कहीं पे
27:21आप ट्रंकेट और सीधा टेबल का नेम भी लिख
27:24सकते हो। बट मेनली ट्रंक के टेबल टेबल नेम
27:26होता है। और यहां पे क्या होता है कि आपकी
27:28एक बार में सारी रोज़ डिलीट हो जाएंगी।
27:31लेकिन जो टेबल का स्ट्रक्चर होता है ना
27:33टेबल का पूरा जो स्ट्रक्चर है कि उसमें
27:35कितने कॉलम्स थे? उसमें कितना जो है वो
27:38कॉलम का डेटा टाइप था। प्राइमरी की कौन सी
27:40थी? वो सारी एज़ इट इज़ बची रहेगी। क्योंकि
27:42हमने ड्रॉप नहीं किया। तो कई बार पूछ लेते
27:45हैं भैया ड्रॉप क्या करता है? सब कुछ ही
27:47डिलीट कर देगा। लेकिन ट्रंकेट सिर्फ रोज़
27:49को डिलीट करेगा। टेबल का स्ट्रक्चर एज़ इट
27:51इज़ रहेगा। और एक होती है हमारी डिलीट।
27:53डिलीट बेसिकली क्या करता है? वन बाय वन रो
27:55को डिलीट करता है। तो थोड़ा टाइम
27:57कंज्यूमिंग है। लेकिन डिलीट का एक फायदा
27:59क्या है? कि अगर आपने एक्सीडेंटली या गलती
28:02से अगर आपने डिलीट कर दी रोज़ और अगर आप
28:04रिकवर करना चाहते हो तो डिलीट बोलेगा ठीक
28:07है मैं रिकवर कर दूंगा। लेकिन ट्रंकेट जो
28:09है वो रिकवर नहीं करता। बस ये पॉइंट भी
28:11आपको पता होना चाहिए। यही चीज इंटरव्यू
28:14में आपसे पूछ सकते हैं। देन अ न्यू इंटर्न
Q-12: GRANT SELECT — Give an intern read-only access to the Employees table.
28:18शुड ओनली बी एबल टू व्यू द एंप्लई टेबल बट
28:20शुड नॉट मॉडिफाइड। देखो अब क्वेश्चन थोड़ा
28:23सा ना मैंने यहां पे डीडीएल डीएमएल आपका
28:26जो डीसीएल कमांड्स हैं टीक्यूएल कमांड्स
28:29है इनके ऊपर थोड़े से क्वेश्चन डाले हैं
28:30क्योंकि ऐसा नहीं है कि सारे क्वेरी वाले
28:32ही आपसे पूछेंगे दे माइट स्टार्ट फ्रॉम द
28:35बेसिक क्वेश्चन कि भैया आपको पता है कि
28:37डीडीएल है डीएमएल है या जैसे ये क्वेश्चन
28:39आपका डीसीएल के ऊपर आया हुआ है कि जहां पे
28:42हमारे पास दो कमांड्स होती है एक होती है
28:43ग्रांट और एक होती है रिवॉक अगर मुझे
28:46परमिशन देनी है किसी नए यूजर को और परमिशन
28:49देनी है कि भैया वो सिर्फ और सिर्फ एंप्लई
28:51टेबल को ये जो भी टेबल दिया है उसको मुझे
28:53सिर्फ सेलेक्ट कर सके। उसमें कुछ भी
28:55इंसर्ट या डिलीट या अपडेट ना कर सके। तो
28:58मैं क्या करूंगा? ग्रांट सेलेक्ट ऑन जिस
29:01टेबल के ऊपर देनी है टू जिस बंदे को देनी
29:04है जो भी उस यूजर का नेम होगा उसको हम इस
29:06तरीके से दे सकते हैं। और अगर वापस लेनी
29:08है तो रिवॉक फ्रॉम जो भी मेरा यूजर होगा
29:11वो हम रिवॉक भी कर सकते हैं। और यहां पे
29:14जो है वो आप जो भी देना चाहते हो अगर
29:16इंसर्ट देना चाहते हो तो ग्रांट इंसर्ट
29:18ग्रांट अपडेट ग्रांट डिलीट। सो बेस्ड ऑन
29:21जो बंदा है उसका जो रोल है उसके हिसाब से
29:23हम लोग असाइन करते हैं। वैसे हम लोग
29:25डेटाबेस में रोल्स भी बना सकते हैं। रोल्स
29:28बेसिकली क्या होते हैं? एक तरह से आप कह
29:30लो बंडल है। मतलब आप एक-एक करके सब बंदों
29:33को एक-एक करके परमिशन दे रहे हो कि डिलीशन
29:35तू ये ले ले, तू वो ले ले। नहीं हम लोग
29:38रोल बना देंगे। जैसे स्टूडेंट एक रोल है।
29:41ठीक है? आपके कॉलेज में जो फैकल्टी है वो
29:43एक रोल है। जो एचओडी है वो एक रोल है। जो
29:46लेट्स सपोज प्रिंसिपल है वो एक रोल है। तो
29:48हम लोग जो है ना कुछ-कुछ परमिशंस असाइन कर
29:50देंगे इस रोल को। तो जैसे ही कोई नया
29:52बच्चा आया हमने उसको ये रोल दे दिया। कोई
29:54नया टीचर आया ये रोल दे दिया। कोई नया
29:56एचओडी प्रमोट हुआ ये रोल दे दिया। तो इस
29:58तरीके से हम लोग रोल्स असाइन कर देते हैं
30:00ताकि हमारा जो है वो टाइम सेव हो जाए। इन
30:02केस अगर आपसे पूछ रहे हैं तो ये नोट कर
30:04लेना। देन हमारे पास क्वेश्चन आता है
Q-13: SQL Logical Execution Order — Why can't SELECT aliases be used in WHERE?
30:06नेक्स्ट 13 एन एलाइस क्रिएटेड इन द
30:09सेलेक्ट लिस्ट कैन नॉट बी रेफरेंस्ड इन द
30:12वेयर क्लॉज़ ऑफ़ द सेम क्वेरी हाउ डज़
30:14एसक्यूएल लॉजिक एग्ज़क्यूशन ऑर्डर? देखो
30:17कुछ नहीं है। आपने क्वेरी को ध्यान से
30:19देखना है। क्वेरी में हमारे पास आप आई होप
30:21कि क्वेरी आपको विज़िबल होगी। क्वेरी में
30:23बेसिकली क्या लिखा हुआ है? सेलेक्ट सैलरी
30:26इंटू 12। मैंने कुछ यहां पे अपडेट किया
30:29सैलरी के अंदर एज एनुअल अंडरस्कोर सैलरी
30:33फ्रॉम एंप्लई वेयर एनुअल सैलरी इज़ ग्रेटर
30:36देन जो भी मेरा 6 लाख यहां पे अमाउंट लिखा
30:39हुआ है। तो देखो ये क्वेरी एग्जीक्यूट
30:41नहीं होगी। क्यों नहीं एग्जीक्यूट होगी?
30:42क्योंकि जब भी हम क्वेरी को एग्जीक्यूट
30:44करते हैं तो सबसे पहली चीज एग्जीक्यूट
30:47होती है आपकी फ्रॉम फ्रॉम। अगर मल्टीपल
30:50टेबल है तो जॉइन होगा इसके बाद। लेकिन अगर
30:52एक टेबल है तो सिंपल एक टेबल से डेटा उठा
30:54लेंगे। उसके बाद जब फ्रॉम मेरा टेबल आ गया
30:58दूसरी चीज जो यहां पे एग्जीक्यूट होगी वो
31:00होगी वेयर और वेयर में जब ये देखेगा एनुअल
31:03सैलरी एनुअल सैलरी तो कोई कॉलम ही नहीं है
31:06मेरे पास कॉलम जो है वो उसका नाम है सैलरी
31:08मेरे पास एनुअल सैलरी का नाम का कुछ नहीं
31:11है एनुअल सैलरी तो हमने एलाइज क्रिएट की
31:13है सेलेक्ट के अंदर लेकिन सेलेक्ट तो अभी
31:15आया ही नहीं कंट्रोल में आया ही नहीं तो
31:17यहां पे वेयर सैलरी ग्रेटर दैन आना चाहिए
31:19था तभी एग्जीक्यूट होगी क्योंकि जब वेयर
31:22के बाद इवन वेयर के बाद आपका ग्रुप ग्रुप
31:24बाय एग्जीक्यूट होता है। फिर ग्रुप बाय के
31:26बाद हैविंग एग्जीक्यूट होता है। फिर जाके
31:29आपकी कहीं सेलेक्ट की टर्न आती है। और
31:31सेलेक्ट के बाद भी अगर आपसे पूछ ले कि कोई
31:33ऐसी कमांड है जो सेलेक्ट के बाद
31:35एग्जीक्यूट होती है। दैट इज ऑर्डर बाय।
31:37आपने जो सेलेक्ट करना है कर लो। उसके बाद
31:39अगर आपने उसको असेंडिंग या डिसेंडिंग में
31:41दिखाना है तो ऑर्डर बाय। ऑर्डर बाय के बाद
31:43भी लास्ट में एक चीज होती है लिमिट कि
31:45आपने लास्ट में कौन सी रो उठानी है, ऊपर
31:47की रो उठानी है, नीचे की रो उठानी है तो
31:49हम लोग लिमिट से इस तरीके से फ्लो
31:51एग्जीक्यूट होता है। ये चीजें आपको पता
31:53होनी चाहिए। कई बार सिनेरियो बेस्ड
Q-14: ROW_NUMBER() vs RANK() vs DENSE_RANK()
31:55क्वेश्चन आपसे घुमा फिरा के पूछ सकते हैं।
31:57देन अ रैंकिंग क्वेरी कंटेन द डुप्लीकेट
32:00सैलरीज। हाउ रो नंबर, रैंक एंड डेंस रैंक।
32:03हां ये वाले जो आपके छोटे-छोटे फंक्शनंस
32:05है ना सीक्वल के अंदर कई बार डायरेक्टली
32:07पूछ लेते हैं कि भैया रो नंबर क्या है?
32:10रैंक क्या है? डेंस रैंक क्या है? अब आपके
32:12डेटाबेस में कई बार जैसे स्टूडेंट का टेबल
32:15है या एंप्लई का टेबल है। मुझे उनको रैंक
32:17देना है कि भैया इसका रैंक पहला है। इस
32:19बंदे का रैंक दूसरा है। ऐसा होता है ना
32:20स्टूडेंट टेबल में भी। तो लेट्स सपोज
32:22एंप्लई है, सैलरीज है, रो नंबर अगर मुझे
32:25देना है तो मैं कैसे दे सकता हूं, रो नंबर
32:27सिंपली 1 2 3 4 इस तरीके से ऑटोमेटिकली रो
32:31नंबर साइन कर देता हूं। और उसके लिए मेरे
32:32को सिंपली क्या लिखना है? सेलेक्ट एंप्लई
32:34कॉमा सैलरी रो अंडरस्कोर नंबर ओवर ऑर्डर
32:38बाय सैलरी डिसेंडिंग। मतलब मैंने यहां पे
32:40क्या कर दिया? सैलरी को पहले डिसेंडिंग
32:42ऑर्डर में। और उसके साथ मैंने यहां पे रो
32:44नंबर। तो, यह क्या करेगा? सबसे हाईएस्ट
32:47सैलरी को रो नंबर वन। सबसे उसके बाद जो
32:49सेकंड है 2 3 4 इस तरीके से लेकिन अगर
32:52आपसे पूछ ले कि रैंक और डेंस रैंक में
32:55क्या फर्क है? तो बेसिक फर्क क्या है कि
32:57अगर मेरा डेटा डुप्लीकेट है। देखो यहां पे
33:00ध्यान से देखो 80000 दो बार आ गया। तो जब
33:03मैं रैंक लिखूंगा ना तो 90 वाला सबसे
33:05हाईएस्ट सैलरी ले रहा है। ये तो भैया नंबर
33:07वन हो गया। 80000 में दो लोग ले रहे हैं
33:10सैलरी। तो या तो मैं इसको रैंक क्या दे
33:12दूं? टू और नीचे वाले को भी रैंक क्या
33:14देना पड़ेगा? टू देना पड़ेगा। ऑब्वियसली
33:16दोनों की बराबर है सैलरी। लेकिन जो रैंक
33:19है ना वो उसके बाद तीन वैल्यू कट कर देगा।
33:22मतलब कहने का वो दो-दो दे दी वैल्यू उसके
33:25बाद सीधा चार रैंक आएगा। तीन रैंक यहां पे
33:28खत्म हो गया क्योंकि यहां पे डुप्लीकेट था
33:30डेटा। हां अगर डुप्लीकेट ना होता तो फिर
33:31वन टू थ्री इस तरीके से आ जाता। लेकिन जो
33:34डेंस रैंक है बस यही फर्क है कि डेंस रैंक
33:36जो है वो वन तो दे दिया। उसके बाद टू टू
33:38दे दिया लेकिन उसके बाद बीच में स्किप
33:41नहीं करता। फिर उसके बाद थ्री रैंक इस
33:43तरीके से देता है। सो बेस्ड ऑन आवर यूज़
33:45केस हम इसको यूज़ कर सकते हैं कि कहां पे
33:47रैंक को कहां पे डेंस रैंक को यूज़ करना
33:49है। और आपसे अगर उसमें पूछ लें इंटरव्यू
Q-15: COUNT(*) vs COUNT(email) vs COUNT(DISTINCT email)
33:52में तो आप इजीली आंसर दे सकते हो। देन अ
33:54टेबल कंटेन डुप्लीकेट एंड नल वैल्यूज़ हाउ
33:57काउंट स्टार काउंट ईमेल। बेसिकली क्या
33:59होता है? आपके टेबल में कई बार ना नल
34:02वैल्यू आ जाती है। जैसे एग्जांपल के तौर
34:03पे मेरा एक टेबल है और उस टेबल में लेट्स
34:06सपोज़ मेरे पास एक ही कॉलम है ईमेल। एक ही
34:11कॉलम है ईमेल। ठीक है? उस कॉलम के अंदर
34:13मैं वैल्यू्यूज ले लेता हूं। a b
34:15c@gmail.com
34:17a b c@gmail.com
34:20मैंने थोड़ा सा डुप्लीकेट ले रहा हूं
34:21डेटा। एक मैंने ले लिया xyz@gmail.com
34:25फिर मैंने एक खाली छोड़ दिया नल। फिर उसके
34:28बाद मैंने एक और ले लिया यहां पे अ लेट्स
34:30सपोज ए बी डी ई @ इस तरीके से मैंने कुछ
34:35डेटा ले लिया। अब जैसे ही मैं काउंट स्टार
34:37करूंगा ना याद रखना बहुत इंपॉर्टेंट है।
34:40काउंट स्टार जो है वो काउंट करेगा। वन
34:43टू थ्री फोर फाइव। अब आपके दिमाग में आएगा
34:48सर खाली है एक वैल्यू तो नल को तो काउंट
34:50करता ही नहीं है। नहीं जो काउंट स्टार है
34:53वो नल को भी काउंट करता है। याद रखना
34:55सिर्फ काउंट स्टार ही है ऐसा जो नल को
34:57काउंट करता है। अदरवाइज जितने भी अदर
34:59फंक्शंस हैं चाहे मीन, मैक्स, एवरेज जो भी
35:01करोगे वो आपके नल वैल्यू को इग्नोर कर
35:04देते हैं। लेकिन अकेला काउंट स्टार ऐसा है
35:06जो इसको काउंट करेगा। तो यानी 1 2 3 4 5
35:10यानी इसका आंसर क्या आएगा? फाइव आएगा। जब
35:12आप काउंट करोगे ईमेल ध्यान रखना जब आप
35:15काउंट करोगे ईमेल उस केस में ये क्या
35:18करेगा नल को जब आपने स्टार किया तो सबको
35:20दिखाएगा लेकिन अगर आप सिर्फ मेंशन कर दोगे
35:23ईमेल उस केस में ये नल को यहां पे काउंट
35:25नहीं करेगा फिर 1 2 3 फोर आंसर आपका दे
35:28देगा और अगर आप काउंट डिस्टिंक्ट ईमेल
35:32करते हो तो नाम से ही पता लग रहा है
35:33डिस्टिंक्ट मतलब सिर्फ और सिर्फ आपका
35:35यूनिक दिखाए तो ए बी सी ए बी सी एक बार
35:38दिखाएगा वन हो गया अकाउंट ए बी सी क्योंकि
35:40ये डुप्लीकेट है ना तो इसको एक एक बार
35:41काउंट करेगा वन फिर आपका टू यहां पे आपका
35:44थ्री तो इस तरीके से आप समझ सकते हो कि
35:46कैसे वर्क करता है काउंट इन केस अगर आपको
35:49अलग-अलग सिनेरियो में पूछ ले तो आप इस
35:51तरीके से आंसर जो है वो दे सकते हो। देन
Q-16: COALESCE() — Return the first available non-NULL value.
35:54हमारे पास आ गया अ रिपोर्ट कंटेन मिसिंग
35:56वैल्यूज़ अक्रॉस द प्राइमरी फोन अल्टरनेट
35:59फोन एंड इमरजेंसी। मतलब कई बार क्या होता
36:01है कि हम लोग कोई फॉर्म वगैरह फिल करवाते
36:03हैं। उसमें मैंने प्राइमरी फोन नंबर ले
36:05लिया यूजर से। अल्टरनेट भी ले लिया।
36:07इमरजेंसी नंबर भी ले लिया। ठीक है? और अगर
36:10लेट्स सपोज यूजर ने सिर्फ प्राइमरी नंबर
36:13दिए बाकी नहीं दिए तो मैं प्राइमरी नंबर
36:15को शो करना चाहता हूं। लेट्स सपोज
36:17प्राइमरी नंबर नहीं दिया अल्टरनेट दिया है
36:19तो मैं उसको शो करना चाहता हूं। और अगर
36:21लेट्स सपोज ये दोनों ही नहीं दिए तो मैं
36:23इमरजेंसी नंबर को शो करना चाहता हूं। और
36:25लेट्स सपोज अगर ये तीनों ही नहीं दिए तो
36:27फिर मैं शो करना चाहता हूं कि भैया मेरे
36:29पास अवेलेबल नहीं है। इन चीजों में जब
36:31सेलेक्ट करते हैं तो एक बड़ा ही अच्छा
36:33फंक्शन है हमारे पास कॉलेज। कॉलेज बेसिकली
36:36क्या करता है? ये देखो ध्यान से। सी ओ ए
36:37एल ई एस ईस कोलियाज़ भी बोल देते हैं।
36:40प्रनंसिएशन थोड़ी अलग-अलग होती है। मेन
36:43यहां पे याद रखना कि लेट्स सपोज मेरे मेरे
36:44पास डेटा है 1 2 3 4 इस तरीके से एंप्लई
36:47हैं। प्राइमरी फोन नंबर में मैंने ले लिया
36:499 8 7 अल्टरनेट में मैंने ले लिया नल। ठीक
36:53है? और इमरजेंसी में मैंने ले लिया नल।
36:55दूसरे बंदे में मैंने यहां पे ले लिया नल
36:57और अल्टरनेट में मैंने ले लिया 9 84 5 कुछ
37:01भी। और यहां पे ले लिया नल। तीसरे बंदे
37:03में मैंने यहां पे नल नल और यहां पे ले
37:06लिया 9 8 6 7 ठीक है और चौथे वाले में
37:09मैंने नल नल नल मतलब मेरे पास ना प्राइमरी
37:11है ना अल्टरनेट है ना इमरजेंसी है अब मैं
37:13कॉलिस यूज़ करूंगा ना तो ये क्या करता है
37:14पहली नॉन नल वैल्यू को उठा के देगा पहली
37:17नॉन नल का मतलब है जैसे ही मैं वन के ऊपर
37:19अप्लाई करूंगा कॉलियर्स प्राइमरी फोन नंबर
37:22ये देखेगा प्राइमरी फोन नंबर मेरे पास है
37:24987 तो ये 987 पहले के कॉस्पोंडिंग दिखा
37:27देगा जैसे ही ये दूसरी रो पे आएगा वो
37:29देखेगा प्राइमरी में क्या है नल है कोई
37:31बात नहीं ये उसके नेक्स्ट नेक्स्ट में
37:32जाएगा। नेक्स्ट में मिल गया 98 तो ये 98
37:35वाला नंबर आपको दिखा देगा। थर्ड रो में
37:37जाएगा नल है। छोड़ देगा नल है। छोड़ देगा।
37:40लेकिन नेक्स्ट में है तो आपको ये वाला
37:43नंबर दिखा देगा। मतलब नॉन नल वैल्यू को शो
37:45करेगा। और जब आपकी तीनों ही नल हो तो उस
37:49केस में जो भी आप यहां पे चौथे में जो भी
37:52आप दोगे कोई भी कीवर्ड देना चाहते हो नॉट
37:54अवेलेबल या नॉट प्रेजेंट तो वो फिर उस केस
37:57में वो आपका नॉट अवेलेबल आंसर देगा। तो ये
37:59हमेशा इस तरीके से आपको डेटा जो है वो फच
38:02कर करके देता है। सो बेस्ड ऑन द यूज़ केस
38:04आप इसको भी यूज़ कर सकते हो। नेक्स्ट
Q-17: LAG() — Find each user's previous login date.
38:06क्वेश्चन है हमारे पास विंडो फंक्शनंस के
38:08ऊपर क्या कह रहा है? राइट अ क्वेरी टू
38:10फाइंड ईच यूज़र्स प्रीवियस लॉग इन डेट।
38:13मतलब यहां पे हमें फाइंड आउट करनी है
38:15प्रीवियस लॉगिन डेट। तो देखो सबसे पहले
38:18क्वेश्चन को ध्यान से समझो क्योंकि एक बार
38:20में ये समझ नहीं आएगा। आपको थोड़ा सा इसको
38:22डीप में समझना पड़ेगा। स्कीमा क्या कह रहा
38:24है? कि मेरे पास यूज़र्स हैं और उनके लॉगिन
38:26डेट्स हैं। ठीक है? मतलब यूजर वन है, यूजर
38:29वन, यूजर वन ने इस टाइम पे लॉग इन किया,
38:31इस डेट को लॉग इन किया, इस डेट को लॉग इन
38:32किया। टू ने लॉग इन किया। अलग-अलग जब लॉग
38:35इन करते जा रहे हैं, तब तक का डेटा मेरे
38:37पास यहां पे है। मुझे क्या करना है कि
38:39भैया उसने प्रीवियस लॉग इन कब दिया था? तो
38:42भैया जो आज का लॉग इन है उसके साथ मुझे
38:44इससे पहले वाला लॉग इन जैसे कई बार क्या
38:46होता है कि करंट सैलरी मेरी है लेट्स सपोज
38:4950,000 तो वो शो कर दे। और इससे पहले
38:52सैलरी मेरी क्या थी वो शो कर दे। तो लेट्स
38:54सपोज अभी 50 है। इससे पहले 40 थी तो मेरी
38:57वो भी शो करे और करंट भी शो करे। अगर इस
38:59तरीके से डेटा को शो करना है तो हमें यहां
39:02पे यूज़ करना पड़ेगा किसको? लैग विंडो
39:05फंक्शन को। तो देयर आर वेरियस विंडो
39:06फंक्शन जो हमने अभी-अभी किए। रो नंबर
39:09किया, हमने रैंक किया, डेंस रैंक किया।
39:11ऐसे ही हमारे पास एक आता है लैग और एक आता
39:13है लीड। लैग जो है वो पिछले वाले डेटा के
39:16ऊपर काम करता है। लीड जो है वो अगले वाले
39:18फ्यूचरिस्टिक डेटा के काम करता है। ठीक
39:20है? अब यहां पे सबसे पहले ध्यान से देखना।
39:23क्या कर रहे हैं हम? सेलेक्ट यूजर
39:25अंडरस्कोर आईडी जो हमारी यूजर अंडरस्कोर
39:27आईडी तो है ही। देन लॉग इन अंडरस्कोर डेट।
39:29ये लॉग इन अंडरस्कोर डेट हमारे पास दी हुई
39:31है। ठीक है? लैग कॉमा हमने क्या किया? लैग
39:34लॉग इन डेट। अब हम क्या कर रहे हैं? लैग
39:36लॉग इन डेट। लेकिन अभी ये काम नहीं करेगा।
39:38काम के लिए आपको सबसे पहले इसके ऊपर आना
39:41पड़ेगा। दैट इज ओवर पार्टीशन बाय। अब यहां
39:45पे कांसेप्ट आ गया जी पार्टीशन बाय। जब भी
39:47विंडो फंक्शन हम लोग यूज़ करते हैं तो
39:49पार्टीशन बाय का कांसेप्ट यूज़ करते हैं।
39:51पार्टीशन बाय क्या करता है कि हर एक यूजर
39:54का पार्टीशन बना देगा। क्योंकि हमने
39:56पार्टीशन बाय किसके थ्रू कर रहे हैं? यूजर
39:58आईडी। अब यहां पे कई बार स्टूडेंट के
40:00दिमाग में आता है कि सर ग्रुप बाय तो सुना
40:02था कि ग्रुप बाय यूजर आईडी तो वो यूजर वन
40:05का ग्रुप बना देगा, यूजर टू का ग्रुप बना
40:07देगा। बिल्कुल सही है जी ऑलरेडी कर चुके
40:09हैं। लेकिन जो ग्रुप बाय है ना वो रिड्यूस
40:11कर देता है रोड्स को। मतलब जितनी भी रोज़
40:13है ना उनको रिड्यूस कर देता है। मतलब इनका
40:15एक ग्रुप बना देगा। लेकिन हमें इनको
40:18सेपरेटली काम करना है। सेपरेटली काम करने
40:20के लिए मुझे पार्टीशन बाय यूजर आईडी करना
40:23पड़ेगा। तो यहां पे क्या करेगा? वन वन वन
40:25का अलग पार्टीशन कर देगा। टू वाला अलग और
40:28थ्री वाला अलग। इस तरीके से आप ऐसे लगा लो
40:30कि ये एक पार्टीशन P1 है। ये एक पार्टीशन
40:33P2 है और ये पार्टीशन P3 है। इस तरीके से
40:36तीन पार्टीशंस बना दी बेस्ड ऑन यूजर आईडी।
40:39उसके बाद हमने क्या किया? ऑर्डर बाय लॉग
40:41इन डेट। अब हमने क्या कर दिया? इंटरनली
40:44ऑर्डर बाय कर दिया लॉग इन डेट के ऊपर।
40:46मतलब वन की जो है वो लॉग इन कब-कब था? 1
40:49जुलाई को था, 2 जुलाई को था और 3 जुलाई को
40:52था। तो हमने इसको जो है वो ऑर्डर बाय कर
40:55दिया लॉग इन डेट। और यहां पे जो ऑर्डर बाय
40:58है वो हम लोग करेंगे। बाय डिफॉल्ट जो है
41:00वो यहां पे अगर मेंशन नहीं किया तो हम लोग
41:02जो है वो असेंडिंग ऑर्डर में। अदरवाइज हम
41:04लोग डिसेंडिंग ऑर्डर में भी इसको कर सकते
41:06हैं। तो लेट्स सपोज मैंने यहां पे इसको कर
41:08दिया। तो ये पहला वाला डाटा दूसरा तीसरा
41:10ये तो ऑलरेडी जो है वो आई थिंक ऑर्डर बाय
41:12है ही अदरवाइज नहीं होगा तो ये ऑर्डर बाय
41:15कर देगा उसको ठीक है ना उसको प्रॉपर ऑर्डर
41:17में शो कर देगा एज अब यहां पे हम देखो
41:20क्या कर रहे हैं लैग लॉग इन अंडरस्कोर डेट
41:22ये पता है क्या करेगा जैसे वन है अब ये
41:25देखो ध्यान से देखना वन वाला है इसने इससे
41:28पहले कब किया था इसने इससे पहले तो लॉग इन
41:30किया ही नहीं पहली बार लॉग इन कर रहा है
41:32तो यानी जो ये प्रीवियस रिकॉर्ड बनाएगा ना
41:34प्रीवियस वाला जो ये बनाएगा यहां पे कि
41:36मेरा लॉग इन डेट लैग और इसका नाम रख देगा
41:38प्रीवियस लॉगिन। तो प्रीवियस लॉगिन वाले
41:41में यहां पे नल डाल देगा। नल मतलब इससे
41:43पहले इसका कोई लॉगिन नहीं है। नेक्स्ट 2
41:46तारीख। 2 तारीख से पहले लॉग इन कब किया
41:48था? 1 तारीख को किया था। तो यहां पे इसके
41:50कॉस्पोंडिंग 1 जुलाई आ जाएगा। मतलब एक साथ
41:53आ जाएगा। फिर तीन को लॉग इन कब किया था?
41:55इससे पहले 2 जुलाई को किया था। तो इस
41:57तरीके से देखो करंट लॉगिन ये है प्रीवियस
42:00ये है। करंट ये है प्रीवियस ये है। करंट
42:02ये है प्रीवियस ये है। सेम इसी तरीके से
42:05करंट ये है। यूजर आईडी टू का प्रीवियस जो
42:08है वो नल है। करंट ये है तो प्रीवियस कब
42:10था? ये 1 जुलाई को था। ठीक है? करंट इसका
42:13ये है तो प्रीवियस कब है? जी नल है। इस
42:15तरीके से पूरा रिकॉर्ड मेरे को पैरेलल में
42:17क्रिएट करके दे देगा। और इसका नाम ये क्या
42:19रखेगा? प्रीवियस अंडरs लॉग इन क्योंकि जो
42:22भी ये लैग इंटरनली काम कर रहा है वो इसको
42:25हमने एक एलआई बना के यहां पे एक नया कॉलम
42:28ऐड कर दिया। इस तरीके से आपका जो है वो
42:30काम करता है विंडो फंक्शन। थोड़ा सा भी
42:32अगर आपको डाउट लगता है एक बार दोबारा से
42:35फिर देखना एग्जीक्यूट करके देखना या फिर
42:37विंडो फंक्शन के ऊपर मैंने ऑलरेडी वीडियोस
42:39बनाई हुई है। उसका लिंक जो है वो मैं आई
42:41सेक्शन में डाल देता हूं। थोड़ा और डिटेल
42:42में भी इसको देख सकते हो। देन हमारे पास आ
Q-18: CASE — Classify employees into Low, Medium, and High salary bands.
42:45गया अ सैलरी रिपोर्ट मस्ट क्लासिफाई
42:48एंप्लई इनू लोअर मीडियम एंड हाई। देखो कई
42:50बार क्या होता है कि जैसे हम नॉर्मल C++
42:53वगैरह में केस वगैरह यूज़ करते हैं ना
42:54स्विच वगैरह यूज़ करते हैं। ऐसे ही अगर
42:56आपको इस तरीके से स्विच केस बनाना पड़े
42:59एसक्यूएल के अंदर तो हम कैसे बनाते हैं?
43:01सिंपल केस व्हेन सैलरी ग्रेटर दैन दिस तो
43:04मैंने प्रिंट करा दूंगा हाई। व्हेन सैलरी
43:06ग्रेटर दैन दिस देन आई विल प्रिंट दिस।
43:09एल्स लो। तो यहां पे मैं उसको जो है वो इस
43:12तरीके से एंड कर सकता हूं। बस याद रखना
43:14केस को यहां से स्टार्ट करते हैं तो केस
43:16को एंड करना जरूरी है और उसके बाद हम यहां
43:18पे जो भी एलआई क्रिएट करेंगे तो बैंड बना
43:21देगा कि जिन लोगों की सैलरी इससे ज्यादा
43:23है उसके नाम से टैग दे देगा हाई जिनकी
43:25सैलरी जो है वो इससे ज्यादा और इससे कम है
43:27उनको नाम दे देगा मीडियम जिनकी सैलरी 50
43:30से कम है उनके सामने एक टैग बना देगा लो
43:32सैलरी वाले अगर मैं इसी चीज को ओरेकल में
43:35करना चाहता हूं तो डी कोड यूज़ करते हैं
43:37माय सीक्वल में इफ यूज़ करते हैं सीक्वल
43:39सर्वर में आई एफएफ यूज़ करते हैं तो ये
43:41छोटे-छोटे पॉइंट जो है वो आपको अगर पूछ
43:43लें इंटरव्यू में आपको पता होने चाहिए।
Q-19: NULLIF() — Prevent divide-by-zero errors.
43:46देन अ परसेंटेज कैलकुलेशन डिवाइड्स द
43:48अचीव्ड सेल बाय द टारगेट सेल। मतलब अगर
43:51मुझे परसेंटेज कैलकुलेट करनी है तो जो भी
43:54मेरी यहां पे अचीव्ड सेल है उसको मैं
43:56डिवाइड करता हूं किससे? टारगेट सेल से।
43:58ठीक है? तो मेरे को पता लग जाएगा मेरी
44:00अचीवमेंट कितनी हुई। बट होता क्या है कि
44:02कई बार अब आपको इंटरव्यू में बोल दें कि
44:04कई बार तो हो सकता है मेरे टारगेट जीरो
44:06हैं। तो अगर आप मेरी टारगेट सेल लेट्स
44:08सपोज 70 है और मेरी अचीव्ड 10 है तो मैं
44:12डिवाइड करके वैल्यू निकाल सकता हूं। ठीक
44:14है? तो मेरी यहां पे वैल्यू निकल के आ
44:15जाएगी। अगर मेरी लेट्स सपोज टार अचीव्ड जो
44:18है वो 70 है और मेरी जो टारगेट सेल है वो
44:22है ज़ीरो। तो यहां तो भैया डिवाइड बाय ज़ीरो
44:25का एरर आ जाएगा। क्योंकि आप अगर किसी भी
44:27चीज को ज़ीरो से डिवाइड करते हो तो वो तो
44:28ऑब्वियसली इनफाइनाइट वैल्यू है। तो डिवाइड
44:31बाय ज़ीरो का एरर क्योंकि टारगेट सेल जरूरी
44:33थोड़ी ना कि हमेशा पॉजिटिव नंबर होगा। कोई
44:35हो सकता है ये ज़ीरो वैल्यू भी हो जाए। तो
44:37इस केस में यहां पे बड़ा इंपॉर्टेंट
44:39कांसेप्ट है नल इफ का। नल इफ पता है क्या
44:42करेगा कि अगर लेट्स सपोज़ टारगेट सेल की
44:44वैल्यू है 10, 20, 30, तो वो उसी को लेके
44:48चलेगा। लेकिन अगर टारगेट सेल की वैल्यू हो
44:51गई लेट्स सपोज़ ज़ीरो। अगर वो वैल्यू होगी
44:53ज़ीरो तो यहां पे एरर आ जाएगा। तो ये ज़ीरो
44:55को पता है क्या करेगा? कन्वर्ट कर देगा नल
44:58में। मतलब नल इफ का मतलब है कि जैसे ही
45:00यहां पे ज़ीरो दिखा, इसने ज़ीरो को देखते ही
45:03इसको नल में कन्वर्ट कर देना है। और अगर
45:05आप किसी भी नंबर को नल से डिवाइड करते हो
45:07तो एरर नहीं आएगा। ओवरऑल आंसर आपका नल हो
45:10जाएगा। तो यहां पे एरर से आप लोग बच गए।
45:13इस टाइप के क्वेश्चंस बहुत ज्यादा पॉपुलर
45:14होते हैं। इंटरव्यूज़ में अच्छे से नोट कर
45:17लेना। और फाइनली हमारे पास जो है वो इसका
45:19अगेन स्नैपशॉट वगैरह ले लेना। ठीक है ना?
45:21इसीलिए मैं साइड पे हो जाता हूं। देन राइट
Q-20: Delete duplicate records while keeping the newest record for each email.
45:23अ क्वेरी टू डिलीट द डुप्लीकेट रिकॉर्ड्स।
45:25बड़ाेंट है जी। अगर डुप्लीकेट डेटा है और
45:28उसको डिलीट करना है व्हाइल कीपिंग द
45:30न्यूएस्ट रिकॉर्ड फॉर ईच ईमेल। देखो ध्यान
45:32से पहले क्वेश्चन को समझो। मेरे यहां पे
45:35कस्टमर्स हैं और उनका नेम है और उनकी ईमेल
45:37आईडी। जैसे देखो निखिल की यहां पे निखिल
45:39है और एक और आईडी है सेम। मुझे क्या करना
45:42है? अगर लेट्स सपोज डुप्लीकेट है यहां पे।
45:44निखिल की दो-तीन बार चार बार लिखी हुई है
45:46ईमेल आईडी। तो मुझे एक को रखना है और
45:48बाकियों को डिलीट कर देना है। लेकिन रखना
45:51किसको है? जो लेटेस्ट है जैसे देखो यहां
45:53पे निखिल ने ये अपडेट की थी या क्रिएट की
45:56थी 121 को और ये फिर उसने 215 को दोबारा
45:59से की तो यानी मुझे लेटेस्ट वाली रखनी है
46:02पुरानी वाली डिलीट करनी है तो अगेन इसके
46:04लिए भी हमारा कौन सा यूज होगा यहां पे
46:06विंडो फंक्शन यूज़ होगा और विंडो फंक्शन को
46:09यूज़ देखो कैसे कर रहे हैं ध्यान से देखना
46:11सेलेक्ट कस्टमर आईडी कॉमा रो नंबर हम लोग
46:14देंगे ओवर पार्टीशन बाय सबसे पहले स्टार्ट
46:16करो पार्टीशन बाय से पार्टीशन बाय ईमेल
46:19हमने क्या कर दिया पार्टीशन बाय कर दिया
46:20ईमेल यानी निखिल वाला एक अलग हो गया और
46:24सारा वाला अलग हो गया। देव वाला अलग हो
46:26गया। सबसे पहले तो ध्यान रखो जैसे ही
46:28पार्टीशन बाय ईमेल करोगे इस तरीके से आपके
46:31पार्टीशंस बन गए। अगर मल्टीपल होते तो वो
46:33सारे एक पार्टीशन में आ जाते। उसके बाद
46:35देखो ध्यान से देखो। बड़ा इंपॉर्टेंट लॉजिक
46:37है। ऑर्डर बाय क्रिएटेड। मतलब मैंने ऑर्डर
46:39बाय कर दिया क्रिएटेड से। ऑर्डर बाय कर
46:42दिया क्रिएटेड के हिसाब से। तो निखिल जो
46:44है वह अभी बना अब। लेकिन हमने क्रिएटेड
46:47बाय ऑर्डर और डिसेंडिंग। मतलब निखिल ने दो
46:49बार बनाई। एक तो 121 को और एक बनाई 215
46:52को। लेकिन इनमें से जो लेटेस्ट है वो है
46:54215। तो हमने हाईएस्ट टू लोएस्ट करना है
46:56डिसेंडिंग में। तो 215 वाली यहां पे आ गई
46:59और जो पहले बनाई थी 12 एक वाली वो नीचे
47:01चली गई। सेम बाकियों में भी ऐसे ही करेगा
47:04अगर मल्टीपल होती है तो। ठीक है? देन उसके
47:06बाद हमने क्या किया? यहां पे इनको रो नंबर
47:09दे दिया। बड़ा इंपॉर्टेंट है जी। रो नंबर।
47:10मैंने इसको रो नंबर दे दिया वन। इसको रो
47:13नंबर दे दिया यहां पे टू। ये जो है वो
47:15सिमिलरली वैसे ही हर एक पार्टीशन में रो
47:17नंबर वन, रो नंबर वन। क्योंकि यहां तो
47:19वैल्यूस ही एक-एक है। तो आप इसको तो चाहे
47:21ना ही लो। मेन इसी को देखो ध्यान से। तो
47:23यहां पे रो नंबर वन, रो नंबर टू। लेट्स
47:24सपोज एक और निखिल भी होता और वो उसने
47:27लेट्स सपोज बनाई होती आपकी 11 एक को। ठीक
47:30है? तो उसको रो नंबर थ्री दे देता।
47:31एग्जांपल के तौर पे मैं तीन रोज़ ले लेता
47:33हूं। ठीक है? देन ये फ्रॉम कस्टमर रिकॉर्ड
47:36ये बना दिया। अब उसके बाद हमने यहां पे
47:38अगर आप ध्यान से देखो विद यूज़ किया है।
47:40विद क्या होता है? बेसिकली कॉमन टेबल
47:42एक्सप्रेशन। मतलब टेंपरेरी इस रिजल्ट को
47:44सेव कर देगा। मैंने टेंपरेरी क्या रिजल्ट
47:46सेव कर दिया? एक तो कस्टमर आईडी कस्टमर
47:49आईडी क्या है निखिल की 301 303 और लेट्स
47:53सपोज अगर मैं 305 ले लेता हूं और वो भी
47:55मेरी निखिल है और वो उसने 110 एक को बनाई
47:58थी तो इस तरीके से 305 जो भी वैल्यूज है
48:00मैं यहां पे निखिल और उसके साथ-साथ रो
48:02नंबर दो चीजों को सेव कर लेगा एक तो
48:04कस्टमर आईडी ठीक है और एक उसके साथ रो
48:08नंबर रो नंबर कौन से है जी 1 2 3 ठीक है
48:11तो ये मैंने सेव करवा लिया देखो लॉजिक
48:13कितना प्यारा है हम अब क्या करेंगे हम लोग
48:15इन दो रोस को डिलीट करने की कोशिश करेंगे।
48:18सिर्फ पहली वाली जो रो है उसको कीप
48:20करेंगे। उसके लिए हमने देखो क्या किया?
48:22डिलीट फ्रॉम कस्टमर अंडरस्कोर रिकॉर्ड जो
48:25भी मेरा ये टेबल है उसमें से वेयर कस्टमर
48:27आईडी इन सेलेक्ट कस्टमर आईडी फ्रॉम द
48:30रैंक्ड। मतलब ये जो हमने बनाया ना ये वाला
48:32जो टेबल है टेंपरेरी इसके अंदर मैंने इसका
48:35नाम दे दिया रैंक। अब इसमें हम लोग क्या
48:37करेंगे? जहां पे भी रो नंबर ग्रेटर दैन वन
48:40है। तो देखो रो नंबर ग्रेटर दैन वन कहां
48:42है? ये टू एंड थ्री। यानी इसको डिलीट
48:44करेगा और इसको डिलीट करेगा। सिर्फ एक वाली
48:47को रख लेगा। एक वाली पता है कौन सी है? यह
48:50वो है जो निखिल ने लेटेस्ट अपडेट किया था
48:53और उस तरीके से आपका डेटा बड़ा इंपॉर्टेंट
48:56लॉजिक है क्योंकि इंटरनली ये बहुत बड़ा
48:58कांसेप्ट है। लेकिन अगर एक-एक करके आप
49:00इसको ब्रेकडाउन करके समझोगे तो आपको बहुत
49:03अच्छे से समझ में आएगा। तो एक बार प्लीज
49:05इनको सों को अच्छे से नोट कर लेना और
49:07एग्जीक्यूट करके देखना जरूर। क्योंकि जब
49:10आप एग्जीक्यूट करके देखोगे तब आपको ज्यादा
49:12हैंड्स ऑन प्रैक्टिस करोगे तो ज्यादा
49:13चीजों की समझ आएगी। बाकी मैंने जितने भी
49:15कांसेप्ट है एसक्यूएल के जितने भी सारे के
49:18सारे यहां पे कवर अप करने की कोशिश कर दी
49:20है। जी इन केस कोई छोटा-मोटा रह जाता है
49:22तो वो हम लोग देख लेंगे। आप कमेंट सेक्शन
49:24में मेरे को बता देना। बट गाइस प्लीज
49:26वीडियो को लाइक कर देना। चैनल को
49:27सब्सक्राइब कर देना। अगर अभी तक आपने नहीं
49:29किया और अगर कर भी दिया है तो शेयर कर दो।
49:31भाई इनके पीछे बहुत मेहनत है। एक-एक
49:33क्वेश्चन को बनाने में बहुत दम लगता है।
49:35तो भैया ज्यादा से ज्यादा शेयर जरूर कर
49:37देना।
49:43[घंटी की आवाज़]