उदाहरण के लिए यदि आप इस परियोजना में अपने प्रश्न में दिखाया गया तालिका में country_id का उपयोग करके एक देश का नाम पाने के लिए कोशिश कर रहे हैं, आप
SELECT C.CountryName_Colummn, C.SomeOtheColumn, ......
FROM Projects P INNER JOIN Countries C
ON P.id_Country = C.id_Country
WHERE SomeColum = 'Your Condition'
1) का चयन करें खण्ड की तरह कुछ कर सकता है कॉलम में जरूरत का चयन आपका परिणाम सेट
2) आप से तालिका (ओं) का नाम उल्लेख करें
3) खंड पर आप तालिकाओं के बीच संबंध परिभाषित करते हैं कहें प्रोजेक्ट टेबल में कॉलम id_Country था जो देश तालिका में id_Country को संदर्भित करता है, इन दो तालिकाओं के बीच संबंध परिभाषित करता है।
4) कॉलम सूची का चयन करने के बाद, डेटा का स्रोत (टेबल), उनके रिश्ते (क्लॉज पर), फिर आप अपनी क्वेरी से लौटने वाली पंक्तियों की संख्या फ़िल्टर कर सकते हैं, जैसे आप id_Country
जैसे कुछ कर सकते हैं C.CountryName = 'यूके' केवल यूके से परिणाम लौटाएगा।
5) क्लॉज में पत्र 'सी' और 'पी' उपनाम हैं इसलिए हमें फिर से पूर्ण तालिका नाम टाइप करने की आवश्यकता नहीं है, हमारे कोड को पढ़ने और डीबग करने में आसान और आसान बनाता है।
कोई फर्क नहीं पड़ता कि आवश्यक डेटा प्राप्त करने के लिए आपको कितनी तालिकाओं में शामिल होना है जब तक कि आप अपनी क्वेरी में तालिका के बीच संबंध को परिभाषित कर सकें, इसे ठीक काम करना चाहिए। एसक्यूएल सर्वर शायद ही कभी आपको एक टेबल में सभी आवश्यक डेटा मिलेंगे, सामान्यतः आप 2-3 टेबल या अधिक टेबल में शामिल होंगे। उदाहरण के लिए यदि आप कुछ डेटा है कि 3 अलग तालिकाओं में मौजूद है तो आप उन्हें इस तरह तीनों एक में क्वेरी कुछ में शामिल हो जाएगा ...
SELECT C.CountryName_Colummn, C.SomeOtheColumn, ......
FROM Projects P INNER JOIN Countries C
ON P.id_Country = C.id_Country
INNER JOIN Table_3_Name T3
ON T3.CommonColumn = P.SomeCommonColumn (it will be a common column between table 3 and Projects OR Countries)
WHERE SomeColum = 'Your Condition'
चाहते लेकिन क्या तुम सच में में देखने की जरूरत है मिलती है के रूप में आप के विभिन्न प्रकार के कर सकते हैं टेबल के बीच जुड़ता है, इस उदाहरण में हेर्स मैंने इनर जॉइन का उपयोग किया जो इन सभी तालिकाओं के बीच केवल मिलान पंक्तियों को लौटाता है, आप बाएं जॉइन या दाएं जॉइन कर सकते हैं।
बाएं जॉइन जॉइन कुंजी शब्द के बाईं ओर तालिका से सभी पंक्तियों को लौटाता है और केवल अन्य तालिकाओं से मेल खाने वाली पंक्तियां देता है।
सही जॉइन जॉइन कुंजी शब्द के दाईं ओर से सभी पंक्तियों को लौटाता है और केवल अन्य तालिकाओं से पंक्तियों को झुकाता है।केवल वांछित कॉलम
Select customers.customer_name, Products.Product_type, Manufacturers.Manuf_name
from Projects inner join customers
on customers.cust_id= Projects.proj_cust_id
inner join Products
on Products.prod_id= Projects.proj_prod_id
inner join Manufacturers
on Manufacturers.man_id= Projects.proj_man_id
बनाना उर्फ के उपयोग आप ठीक उसी reuslt दे देंगे साथ
प्रश्नों लेकिन कोड भी इस कोशिश को पढ़ने के लिए आसान ....
Select C.customer_name, Prod.Product_type, M.Manuf_name
from Projects Proj inner join customers C
on C.cust_id= Proj.proj_cust_id
inner join Products Prod
on Prod.prod_id= Proj.proj_prod_id
inner join Manufacturers M
on M.man_id= Proj.proj_man_id
यदि आपके पास अभी तक नहीं किया गया है, [जॉइन की] पर पढ़ें (http://www.codinghorror.com/blog/2007/10/a-visual-explanation-of-sql-joins.html)। आपके विशेष मामले में आपको सभी आवश्यक लुक-अप टेबल पर अपनी "मुख्य" तालिका 'इनर जॉइन' करने की आवश्यकता होगी। –
@ PM77-1 संदर्भ के लिए धन्यवाद। अब पढ़ने पर कूदते हुए। – FeliceM
यदि आप बुनियादी जॉइन में प्रवीणता प्राप्त करना चाहते हैं, तो मैं [SQLZoo] (http://sqlzoo.net/wiki/The_JOIN_operation) अभ्यासों के माध्यम से जाने का सुझाव देता हूं। और यदि आपको अभी भी समस्याएं हैं, तो आप जो भी कोशिश कर रहे हैं और यह आपके लक्ष्यों को पूरा नहीं करता है, उसे वापस दिखाने के लिए स्वतंत्र महसूस करें। –