चयन तालिका में क्वेरी के लिए 1 = 2 का क्या मतलब है


39

यदि हम SQL सर्वर में मौजूदा एक से एक नई तालिका बनाना चाहते हैं, तो हम निम्नलिखित कर सकते हैं

SELECT * into Table2
from Table1
WHERE 1=2

व्हाट्सएप का प्वाइंट कहां है क्लॉज? मैंने इसे बिना क्लॉज़ के आज़माया और यह ठीक चला। मैंने इसे देखा है जहां इंटरनेट पर कई उदाहरणों में क्लॉज है लेकिन ऐसा नहीं है कि इसकी आवश्यकता क्यों है।

जवाबों:


54

उस WHERE 1=2क्‍लॉज को क्‍लॉज में डालने का कारण SELECT INTOमौजूदा टेबल की फील्ड-कॉपी बनाना है जिसमें कोई डेटा नहीं है

यदि आपने ऐसा किया है:

select *
into Table2
from Table1

Table2Table1डेटा पंक्तियों सहित की एक सटीक डुप्लिकेट होगा । लेकिन अगर आप में निहित डेटा नहीं चाहते हैं Table1, और आप केवल तालिका संरचना चाहते हैं, तो आप WHEREसभी डेटा को फ़िल्टर करने के लिए एक खंड डालते हैं ।

BOL SELECT INTOसंदर्भ उद्धरण:

चयन करें ... INTO डिफ़ॉल्ट फ़ाइल समूह में एक नई तालिका बनाता है और इसमें क्वेरी से परिणामी पंक्तियाँ सम्मिलित करता है।

यदि आपके WHEREखंड में कोई परिणामी पंक्तियाँ नहीं हैं, तो कोई भी नई तालिका में सम्मिलित नहीं किया जाएगा: इसलिए, आप मूल तालिका के डुप्लिकेट स्कीमा को बिना किसी डेटा (जो इस मामले में वांछित परिणाम होगा) के साथ समाप्त करते हैं।

TOP (0)उदाहरण के लिए एक ही प्रभाव प्राप्त किया जा सकता है :

select top (0) *
into Table2
from Table1;

नोट : SELECT INTOस्रोत तालिका के अनुक्रमित, अड़चन, ट्रिगर या विभाजन स्कीमा की नकल नहीं करेगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.