2012-12-24 42 views
5

क्या इन दोनों एसक्यूएल बयान के बीच अंतर हैशामिल हों/कहाँ अवधारणाओं

एक) select * from T1,T2 where T1.A=T2.A ;

ख) select * from T1,T2 where T2.A=T1.A ;

मैं दोनों ही मामलों में एक ही उत्पादन हो रही है, वहाँ दोनों के बीच कोई अंतर है बयान?

ग) select * from T1 inner join T2 on T1.A=T2.A ;

क्या वक्तव्य सी और एक के बीच diffence है? उस मामले में भी एक और ख के रूप में एक ही उत्पादन प्राप्त करने में ...

इनर भी एसक्यूएल बयान के रूप में लिखा जा सकता है जुड़ती ए?

उत्तर

8

वे सब मूलतः एक ही हालत में शामिल होने का उपयोग कर दो तालिकाओं में शामिल होने के विभिन्न तरीके हैं कर रहे हैं।

1 और 2 के बीच, डेटाबेस के संबंध में बिल्कुल कोई अंतर नहीं है।

अंतिम विकल्प मानकीकृत शामिल वाक्यविन्यास है - यह सुनिश्चित करने के लिए कि आपका एसक्यूएल पठनीय है, यह सुनिश्चित करने के लिए आपको इसका उपयोग करना चाहिए - यह आपके एसक्यूएल पढ़ने वाले लोगों को टेबल में शामिल होने पर देखने की उम्मीद करेगा।

1

एसक्यूएल गणित की तरह है; समानता सममित है। यदि ए = बी, तो बी = ए वहाँ कोई फर्क नहीं पड़ता।

जॉइन/ऑन नोटेशन एक ही चीज़ लिखने का एक और तरीका है। दृष्टि में शामिल होने पर जोर देने के लिए नोटेशन अलग है।

आउटपुट आपको एसओ उपयोगकर्ताओं की संख्या की तुलना में बेहतर उत्तर बताता है। आप अपनी आंखों पर विश्वास क्यों नहीं करते?

1

सभी एक ही हैं वहाँ कोई अंतर नहीं

ये diiferent तरीके

0

(ए) और (सी) दूसरे को छोड़कर एएनएसआई-9 2 एसक्यूएल सिंटैक्स है और पहला पुराना एसक्यूएल सिंटैक्स है जिसमें शामिल क्लॉज शामिल नहीं है। उन्हें बिल्कुल एक ही आंतरिक क्वेरी योजना का उत्पादन करना चाहिए, हालांकि आप जांचना चाहेंगे।

आप कारणों

  • शामिल हों खंड के उपयोग फिल्टर तर्क (कहां) से संबंध तर्क अलग करती है के कई के लिए एएनएसआई-92 सिंटैक्स का उपयोग करें और इस तरह स्वच्छ और आसान को समझते हैं चाहिए ।
  • यह इस विशेष क्वेरी के साथ कोई फर्क नहीं पड़ता है, लेकिन वहाँ कुछ परिस्थितियों में जहां (+ का प्रयोग करके) बड़े बाहरी वाक्य रचना में शामिल होने अस्पष्ट है कर रहे हैं और क्वेरी परिणाम इसलिए कार्यान्वयन निर्भर कर रहे हैं - या क्वेरी पर हल नहीं किया जा सकता है सब। ये ANSI-92
  • यह अच्छा अभ्यास है क्योंकि अधिकांश डेवलपर्स और डीबीए आजकल एएनएसआई-9 2 का उपयोग करेंगे और आपको मानक का पालन करना चाहिए। निश्चित रूप से सभी आधुनिक क्वेरी उपकरण ANSI-92 उत्पन्न करेंगे।