Database
 sql >> डेटाबेस >  >> RDS >> Database

SQL में किसी अन्य तालिका से एक तालिका कैसे बनाएं

समस्या:

आप किसी अन्य तालिका से कॉपी किए गए डेटा के साथ एक नई तालिका बनाना चाहेंगे।

उदाहरण:

हमारे डेटाबेस में product निम्नलिखित कॉलम में डेटा के साथ:id (प्राथमिक कुंजी), name , category , और price

<वें शैली="पृष्ठभूमि-रंग:#cecece">नाम
id श्रेणी कीमत
105 गुलाब फूल 5.70
108 डेस्क फर्नीचर 120.00
115 ट्यूलिप फूल 6.50
123 सूरजमुखी फूल 7.50
145 गिटार संगीत 300.00
155 आर्किड फूल 9.50
158 बांसुरी संगीत 156.00

डेटाबेस में, चलिए florist जो निम्नलिखित कॉलम को स्टोर करेगा:id , name , और price . ये कॉलम product लेकिन केवल फूल . श्रेणी से .

यह ध्यान रखना महत्वपूर्ण है कि हम एक नई तालिका बना रहे हैं। टेबल florist इस डेटाबेस में मौजूद नहीं है।

चयन संरचना के रूप में तालिका बनाएं

किसी अन्य तालिका से एक नई तालिका बनाने के लिए, आप CREATE TABLE AS SELECT का उपयोग कर सकते हैं . यह निर्माण मानक एसक्यूएल है। नीचे दिए गए SQL कोड को देखें:

समाधान 1:

CREATE TABLE florist 
AS SELECT
  *
FROM product
WHERE category = ’flower’;

यहाँ क्वेरी का परिणाम है:

<वें शैली="पृष्ठभूमि-रंग:#cecece">नाम
id श्रेणी कीमत
105 गुलाब फूल 5.70
115 ट्यूलिप फूल 6.50
123 सूरजमुखी फूल 7.50
155 आर्किड फूल 9.50

CREATE TABLE का उपयोग करना , आप किसी अन्य तालिका से डेटा कॉपी करके एक नई तालिका बना सकते हैं। इस मामले में, हम सबसे पहले CREATE TABLE . का उपयोग करते हैं नई तालिका के नाम के साथ खंड (हमारे उदाहरण में:florist ), हम अगला AS . लिखते हैं और SELECT कॉलम के नाम के साथ क्वेरी (हमारे उदाहरण में:* ), और फिर हम FROM . लिखते हैं उसके बाद उस तालिका का नाम आता है जिससे डेटा एकत्र किया जाता है (हमारे उदाहरण में:product ) फिर, आप किसी भी SQL खंड का उपयोग कर सकते हैं:WHERE , GROUP BY , HAVING , आदि.

नई तालिका florist इसमें product तालिका (id , name , category , और price ) WHERE क्लॉज का उपयोग करके पंक्तियों की संख्या सीमित है, केवल फूल श्रेणी से डेटा पुनर्प्राप्त करने के लिए रिकॉर्ड्स को फ़िल्टर करना ।

संरचना में चयन करें

एक अन्य समाधान SELECT INTO . का उपयोग करना है . यह सिंटैक्स गैर-मानक SQL है, लेकिन यह कई लोकप्रिय डेटाबेस द्वारा समर्थित है।

समाधान 2:

SELECT  
  id,
  name,
  price
INTO florist
FROM product
WHERE category=’flower’;

ये रहा परिणाम:

<वें शैली="पृष्ठभूमि-रंग:#cecece">नाम
id कीमत
105 गुलाब 5.70
115 ट्यूलिप 6.50
123 सूरजमुखी 7.50
155 आर्किड 9.50

चर्चा:

यदि आप किसी अन्य तालिका से संरचना और डेटा के आधार पर एक नई तालिका बनाना चाहते हैं, तो आप SELECT INTO का उपयोग कर सकते हैं खंड। सबसे पहले, एक SELECT लिखें खंड के बाद स्तंभों की सूची (हमारे उदाहरण में:id , name , और price ) मौजूदा तालिका से (हमारे उदाहरण में:product )।

ध्यान दें कि तालिका product . हमने केवल उन्हीं स्तंभों का चयन किया है जिनमें हमारी रुचि है।

इसके बाद, कीवर्ड का उपयोग करें INTO उस नई तालिका के नाम के साथ जिसे आप बनाना चाहते हैं (हमारे उदाहरण में:florist ) फिर, मौजूदा तालिका के नाम से FROM कीवर्ड लिखें (हमारे उदाहरण में:product )।

यदि आप तालिका से फ़िल्टर की गई पंक्तियों का चयन करना चाहते हैं, तो WHERE . का उपयोग करें खंड। WHERE के बाद , डेटा फ़िल्टर करने के लिए शर्तें लिखें (हमारे उदाहरण में:WHERE category=’flower’ )।

इस उदाहरण में, हम एक नई तालिका बना रहे हैं florist जिसमें टेबल से कम कॉलम हैं product (अंतर कॉलम श्रेणी है)। इस नई तालिका में भी कम पंक्तियाँ हैं - केवल फूल . श्रेणी वाली पंक्तियाँ ।

बेशक, यदि आप अन्य तालिका के सभी स्तंभों का उपयोग करके एक तालिका बनाना चाहते हैं, तो आप * का उपयोग कर सकते हैं SELECT . के बाद कॉलम को सूचीबद्ध करने के बजाय . नीचे दिया गया उदाहरण देखें:

समाधान 2:

SELECT  
  *
INTO florist
FROM product
WHERE category=’flower’;

ये रहा परिणाम:

<वें शैली="पृष्ठभूमि-रंग:#cecece">नाम
id श्रेणी कीमत
105 गुलाब फूल 5.70
115 ट्यूलिप फूल 6.50
123 सूरजमुखी फूल 7.50
155 आर्किड फूल 9.50

SELECT INTO का उपयोग करना डेटाबेस में मौजूदा तालिका के आधार पर एक नई तालिका बनाने का एक आसान तरीका है।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. किराए पर लें या किराए पर लें:भर्ती प्रक्रिया के लिए एक डेटा मॉडल

  2. SQL अद्यतन :किसी तालिका में मानों को अद्यतन करने का तरीका जानें

  3. एसक्यूएल शुरुआती के लिए तालिका बनाएं

  4. एसक्यूएल, एक टेबल बनाना

  5. दबाव में डेटाबेस के प्रदर्शन को मापें