हां, हम MySQL में सेलेक्ट के साथ नेस्टेड इंसर्ट को लागू कर सकते हैं जैसा कि नीचे दिए गए सिंटैक्स में दिखाया गया है -
अपनेTableName2(yourColumnName1,yourColumnName2,.....N)में अपना ColumnName1, yourColumnName2,....N अपनेTableName1 से चुनें जहां आपकी स्थिति है;
आइए पहले एक उदाहरण देखें और एक टेबल बनाएं -
mysql> टेबल बनाएं DemoTable1(Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Name varchar(40));क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.88 सेकंड)
इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें -
mysql> DemoTable1 (नाम) मान ('क्रिस') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.14 सेकंड) mysql> DemoTable1 (नाम) मान ('डेविड') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित है ( 0.11 सेकंड)mysql> डेमोटेबल 1 (नाम) मान ('बॉब') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.12 सेकंड)
चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें -
mysql> DemoTable1 से *चुनें;
यह निम्नलिखित आउटपुट उत्पन्न करेगा -
+-----+----------+| आईडी | नाम |+----+----------+| 1 | क्रिस || 2 | डेविड || 3 | बॉब |+----+-------+3 पंक्तियाँ सेट में (0.00 सेकंड)
दूसरी तालिका बनाने की क्वेरी निम्नलिखित है -
mysql> टेबल बनाएं DemoTable1(ClientId int, ClientFirstName varchar(20));क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.60 सेकंड)
नेस्टेड इंसर्ट को सेलेक्ट के साथ लागू करने की क्वेरी निम्नलिखित है -
mysql> DemoTable2 (ClientId, ClientFirstName) में डालें Id, DemoTable1 से नाम चुनें जहां Id !=2;क्वेरी ठीक है, 2 पंक्तियाँ प्रभावित (0.17 सेकंड) रिकॉर्ड:2 डुप्लिकेट:0 चेतावनियाँ:0
चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें -
mysql> DemoTable2 से *चुनें;
यह निम्नलिखित आउटपुट उत्पन्न करेगा -
<पूर्व>+----------+---------------------+| क्लाइंट आईडी | ClientFirstName |+----------+-----------------+| 1 | क्रिस || 3 | बॉब |+----------+-----------------+2 पंक्तियाँ सेट में (0.00 सेकंड)