CREATE TABLE EMPL_DEMO AS SELECT * FROM employees WHERE 1=2;
मैंने इस कथन को इंटरनेट पर कहीं पढ़ा है लेकिन मैं समझ नहीं पाया WHERE 1=2।
क्या कोई कृपया, इसे समझाएगा?
CREATE TABLE EMPL_DEMO AS SELECT * FROM employees WHERE 1=2;
मैंने इस कथन को इंटरनेट पर कहीं पढ़ा है लेकिन मैं समझ नहीं पाया WHERE 1=2।
क्या कोई कृपया, इसे समझाएगा?
जवाबों:
इस प्रकार की कमांड का उपयोग आमतौर पर एक टेबल की संरचना को दूसरे में कॉपी करने के लिए किया जाता है। इस मामले में, कुंजी या बाधाओं को छोड़कर , EMPL_DEMOसमान स्तंभ संरचना होगी ।employees
1=2हमेशा के लिए मूल्यांकन करता है Falseजो आप पंक्तियों में से किसी को कॉपी करने से रोकता है।
CREATE TABLE new_table LIKE old_table
LIKE old_tableनहीं होता , तब तक यह SQL सर्वर निर्माण नहीं होता ...
nameऔर typeस्तंभ का है, विचार करें कि स्तंभ संरचना के रूप में कुछ अन्य गुण भी हैं - जैसे डिफ़ॉल्ट मान, उपनाम और आदि;)।
CREATE TABLE (एक नई तालिका बनाएं)
EMPL_DEMO (EMPL_DEMO कहा जाता है)
AS (डेटा और संरचना के साथ)
SELECT * FROM employees WHERE 1=2; (कर्मचारियों में सब कुछ जहां 1 = 2 है। चूंकि 1 कभी 2 नहीं होता है - संरचना और सभी 0 मिलान पंक्तियों की नकल करें)
.. संभावित रूप से संरचना की प्रतिलिपि बनाएँ और डेटा नहीं।
यह सिंटैक्स समान है, लेकिन यह अधिक स्पष्ट है, यह समान संरचना के साथ एक तालिका बनाता है, जिसमें कोई डेटा नहीं है।
CREATE TABLE EMPL_DEMO AS SELECT * FROM employees limit 0;
LIMIT। लेकिन ऐसा लगता है कि MSSQL की कमी है (जो मुझे MSSQL का उपयोग नहीं करने के लिए एक अच्छे कारण के रूप में हमला करता है)। जाहिरा तौर पर उनके पास है TOP, लेकिन Google परिणामों में बहुत सारे लोग हैं जो इसका उपयोग नहीं कर रहे हैं, इसलिए शायद इसके आसपास कुछ हिजिंक है।
यह अपने अवरोधों, चाबियों, अनुक्रमित, पहचान संपत्ति और डेटा पंक्तियों को छोड़कर किसी तालिका की संरचना की नकल करने के लिए उपयोगी हो सकता है ।
यह क्वेरी EMPL_DEMOकर्मचारियों की तालिका से कॉपी की गई पंक्तियों के साथ तालिका बनाएगी क्योंकि WHERE 1=2स्थिति का हमेशा मूल्यांकन किया जाएगा FALSE।
CREATE TABLE EMPL_DEMO
AS
SELECT *
FROM employees
WHERE 1=2;
Google में भरोसा रखो, मेरे दोस्त। जब आप उस कथन को गूगल करते हैं तो पहले परिणाम के नीचे से :
उदाहरण के लिए:
CREATE TABLE suppliers AS (SELECT * FROM companies WHERE 1=2);यह आपूर्तिकर्ताओं नामक एक नई तालिका बनाएगा जिसमें कंपनियों की तालिका से सभी कॉलम शामिल होंगे, लेकिन कंपनियों की तालिका से कोई डेटा नहीं।
आकाशवाणी:
CREATE TABLE EMPL_DEMO AS SELECT * FROM employees WHERE 1=2; //just structure not data
CREATE TABLE EMPL_DEMO AS SELECT * FROM employees WHERE 1=1; //ststructure and data
Teradata डेटाबेस में बेहतर समझ:
CREATE TABLE EMPL_DEMO AS Memployees with no data; //structure
CREATE TABLE EMPL_DEMO AS Memployees with data; //structure and data
SQL सर्वर में
तालिका 2 से 1 में तालिका 1 का चयन करें जहाँ 1 = 2 (केवल संरचना)
तालिका 2 से * तालिका 1 में चयन करें जहाँ 1 = 1 (डेटा के साथ संरचना)