कई संबंधित तालिकाओं में डेटा को क्वेरी करने के लिए एक जॉइन स्टेटमेंट का उपयोग किया जाता है।
अब जबकि हमने दो तालिकाओं के बीच संबंध बना लिया है, अब हम दोनों तालिकाओं का उपयोग एक SELECT
. में कर सकते हैं संबंधित डेटा वापस करने के लिए बयान। हम इसे JOIN
. का उपयोग करके कर सकते हैं बयान।
हम तीन मुख्य जॉइन प्रकारों का उपयोग करके अपनी तालिकाओं को क्वेरी करेंगे:
- आंतरिक जुड़ाव
- बाएं बाहरी जुड़ाव
- क्रॉस जॉइन
द इनर जॉइन
एक इनर जॉइन एक जॉइन है जिसमें शामिल होने वाले कॉलम में मानों की तुलना एक तुलना ऑपरेटर का उपयोग करके की जाती है। SQL मानक में, इनर जॉइन को या तो FROM
में निर्दिष्ट किया जा सकता है या WHERE
खंड।
उदाहरण के लिए, हम सभी कलाकारों और उनके एल्बमों की सूची प्राप्त करने के लिए एक क्वेरी चला सकते हैं:
SELECT ArtistName, AlbumName FROM Artists AS a INNER JOIN Albums AS b ON a.ArtistId = b.ArtistId ORDER BY ArtistName;
परिणाम:
ArtistName AlbumName ------------ -------------------- Iron Maiden Killers Iron Maiden Powerslave Iron Maiden Somewhere in Time Joe Satriani Surfing with the Ali Joe Satriani Flying in a Blue Dre Joe Satriani Black Swans and Worm Mr Percival Out of the Loop Primus Suck on This Primus Pork Soda Primus Sailing the Seas of Strapping Yo Heavy as a Really He The Wiggles Yummy Yummy The Wiggles Big Red Car
आपने देखा होगा कि उपरोक्त कॉलम हमारे नए डेटा के लिए पर्याप्त विस्तृत नहीं हैं (कुछ डेटा को छोटा किया जा रहा है)। सभी डेटा प्रदर्शित करने के लिए हमें कॉलम के आकार को फिर से बढ़ाना होगा।
कुछ इस तरह .width 20 50
अभी के लिए पर्याप्त होना चाहिए।
हम WHERE
. का भी उपयोग कर सकते हैं किसी विशेष कलाकार के लिए परिणामों को सीमित करने के लिए खंड:
SELECT b.AlbumName FROM Artists AS a INNER JOIN Albums AS b ON a.ArtistId = b.ArtistId WHERE a.ArtistName = 'The Wiggles';
AlbumName -------------------- Yummy Yummy Big Red Car
हालांकि, WHERE
बस आसानी से एक AND
हो सकता था ON
को विस्तारित करने के लिए खंड:
SELECT b.AlbumName FROM Artists AS a INNER JOIN Albums AS b ON a.ArtistId = b.ArtistId AND a.ArtistName = 'The Wiggles';
बायां बाहरी जुड़ाव
एक बाहरी जुड़ाव FROM
. में उल्लिखित कम से कम एक तालिका या दृश्य से सभी पंक्तियों को लौटाता है खंड, जब तक वे पंक्तियाँ किसी भी WHERE
. से मिलती हैं या HAVING
खोज की स्थिति।
एक बाएं . के साथ बाहरी जुड़ाव, सभी पंक्तियों को संदर्भित बाईं तालिका से पुनर्प्राप्त किया जाता है।
तो निम्नलिखित उदाहरण में, कलाकारों . की सभी पंक्तियां तालिका लौटा दी जाती है, भले ही एल्बम . में कोई संबंधित रिकॉर्ड हो टेबल।
SELECT a.ArtistName, b.AlbumName FROM Artists AS a LEFT OUTER JOIN Albums AS b ON a.ArtistId = b.ArtistId;
परिणाम:
ArtistName AlbumName -------------------- -------------------------------------------------- Joe Satriani Black Swans and Wormhole Wizards Joe Satriani Flying in a Blue Dream Joe Satriani Surfing with the Alien Steve Vai The Tea Party Noiseworks Wayne Jury Mr Percival Out of the Loop Iron Maiden Killers Iron Maiden Powerslave Iron Maiden Somewhere in Time Atmasphere Ian Moss Magnum Strapping Young Lad Heavy as a Really Heavy Thing Slayer Primus Pork Soda Primus Sailing the Seas of Cheese Primus Suck on This Pat Metheny Frank Gambale Frank Zappa The Wiggles Big Red Car The Wiggles Yummy Yummy
द क्रॉस जॉइन
एक क्रॉस जॉइन (जिसमें WHERE
. नहीं है क्लॉज) शामिल होने में शामिल तालिकाओं के कार्टेशियन उत्पाद में परिणाम देता है। इसलिए, परिणाम सेट का आकार पहली तालिका में पंक्तियों की संख्या को दूसरी तालिका में पंक्तियों की संख्या से गुणा किया जाता है।
क्रॉस जॉइन से सावधान रहें। यह बहुत बड़े परिणाम सेट लौटा सकता है!
SELECT ArtistName, AlbumName FROM Artists AS a CROSS JOIN Albums AS b ORDER BY ArtistName;
परिणाम (आपको शायद स्क्रॉल करना होगा):
ArtistName AlbumName -------------------- -------------------------------------------------- Atmasphere Killers Atmasphere Powerslave Atmasphere Surfing with the Alien Atmasphere Heavy as a Really Heavy Thing Atmasphere Yummy Yummy Atmasphere Out of the Loop Atmasphere Suck on This Atmasphere Pork Soda Atmasphere Sailing the Seas of Cheese Atmasphere Flying in a Blue Dream Atmasphere Black Swans and Wormhole Wizards Atmasphere Somewhere in Time Atmasphere Big Red Car Frank Gambale Killers Frank Gambale Powerslave Frank Gambale Surfing with the Alien Frank Gambale Heavy as a Really Heavy Thing Frank Gambale Yummy Yummy Frank Gambale Out of the Loop Frank Gambale Suck on This Frank Gambale Pork Soda Frank Gambale Sailing the Seas of Cheese Frank Gambale Flying in a Blue Dream Frank Gambale Black Swans and Wormhole Wizards Frank Gambale Somewhere in Time Frank Gambale Big Red Car Frank Zappa Killers Frank Zappa Powerslave Frank Zappa Surfing with the Alien Frank Zappa Heavy as a Really Heavy Thing Frank Zappa Yummy Yummy Frank Zappa Out of the Loop Frank Zappa Suck on This Frank Zappa Pork Soda Frank Zappa Sailing the Seas of Cheese Frank Zappa Flying in a Blue Dream Frank Zappa Black Swans and Wormhole Wizards Frank Zappa Somewhere in Time Frank Zappa Big Red Car Ian Moss Killers Ian Moss Powerslave Ian Moss Surfing with the Alien Ian Moss Heavy as a Really Heavy Thing Ian Moss Yummy Yummy Ian Moss Out of the Loop Ian Moss Suck on This Ian Moss Pork Soda Ian Moss Sailing the Seas of Cheese Ian Moss Flying in a Blue Dream Ian Moss Black Swans and Wormhole Wizards Ian Moss Somewhere in Time Ian Moss Big Red Car Iron Maiden Killers Iron Maiden Powerslave Iron Maiden Surfing with the Alien Iron Maiden Heavy as a Really Heavy Thing Iron Maiden Yummy Yummy Iron Maiden Out of the Loop Iron Maiden Suck on This Iron Maiden Pork Soda Iron Maiden Sailing the Seas of Cheese Iron Maiden Flying in a Blue Dream Iron Maiden Black Swans and Wormhole Wizards Iron Maiden Somewhere in Time Iron Maiden Big Red Car Joe Satriani Killers Joe Satriani Powerslave Joe Satriani Surfing with the Alien Joe Satriani Heavy as a Really Heavy Thing Joe Satriani Yummy Yummy Joe Satriani Out of the Loop Joe Satriani Suck on This Joe Satriani Pork Soda Joe Satriani Sailing the Seas of Cheese Joe Satriani Flying in a Blue Dream Joe Satriani Black Swans and Wormhole Wizards Joe Satriani Somewhere in Time Joe Satriani Big Red Car Magnum Killers Magnum Powerslave Magnum Surfing with the Alien Magnum Heavy as a Really Heavy Thing Magnum Yummy Yummy Magnum Out of the Loop Magnum Suck on This Magnum Pork Soda Magnum Sailing the Seas of Cheese Magnum Flying in a Blue Dream Magnum Black Swans and Wormhole Wizards Magnum Somewhere in Time Magnum Big Red Car Mr Percival Killers Mr Percival Powerslave Mr Percival Surfing with the Alien Mr Percival Heavy as a Really Heavy Thing Mr Percival Yummy Yummy Mr Percival Out of the Loop Mr Percival Suck on This Mr Percival Pork Soda Mr Percival Sailing the Seas of Cheese Mr Percival Flying in a Blue Dream Mr Percival Black Swans and Wormhole Wizards Mr Percival Somewhere in Time Mr Percival Big Red Car Noiseworks Killers Noiseworks Powerslave Noiseworks Surfing with the Alien Noiseworks Heavy as a Really Heavy Thing Noiseworks Yummy Yummy Noiseworks Out of the Loop Noiseworks Suck on This Noiseworks Pork Soda Noiseworks Sailing the Seas of Cheese Noiseworks Flying in a Blue Dream Noiseworks Black Swans and Wormhole Wizards Noiseworks Somewhere in Time Noiseworks Big Red Car Pat Metheny Killers Pat Metheny Powerslave Pat Metheny Surfing with the Alien Pat Metheny Heavy as a Really Heavy Thing Pat Metheny Yummy Yummy Pat Metheny Out of the Loop Pat Metheny Suck on This Pat Metheny Pork Soda Pat Metheny Sailing the Seas of Cheese Pat Metheny Flying in a Blue Dream Pat Metheny Black Swans and Wormhole Wizards Pat Metheny Somewhere in Time Pat Metheny Big Red Car Primus Killers Primus Powerslave Primus Surfing with the Alien Primus Heavy as a Really Heavy Thing Primus Yummy Yummy Primus Out of the Loop Primus Suck on This Primus Pork Soda Primus Sailing the Seas of Cheese Primus Flying in a Blue Dream Primus Black Swans and Wormhole Wizards Primus Somewhere in Time Primus Big Red Car Slayer Killers Slayer Powerslave Slayer Surfing with the Alien Slayer Heavy as a Really Heavy Thing Slayer Yummy Yummy Slayer Out of the Loop Slayer Suck on This Slayer Pork Soda Slayer Sailing the Seas of Cheese Slayer Flying in a Blue Dream Slayer Black Swans and Wormhole Wizards Slayer Somewhere in Time Slayer Big Red Car Steve Vai Killers Steve Vai Powerslave Steve Vai Surfing with the Alien Steve Vai Heavy as a Really Heavy Thing Steve Vai Yummy Yummy Steve Vai Out of the Loop Steve Vai Suck on This Steve Vai Pork Soda Steve Vai Sailing the Seas of Cheese Steve Vai Flying in a Blue Dream Steve Vai Black Swans and Wormhole Wizards Steve Vai Somewhere in Time Steve Vai Big Red Car Strapping Young Lad Killers Strapping Young Lad Powerslave Strapping Young Lad Surfing with the Alien Strapping Young Lad Heavy as a Really Heavy Thing Strapping Young Lad Yummy Yummy Strapping Young Lad Out of the Loop Strapping Young Lad Suck on This Strapping Young Lad Pork Soda Strapping Young Lad Sailing the Seas of Cheese Strapping Young Lad Flying in a Blue Dream Strapping Young Lad Black Swans and Wormhole Wizards Strapping Young Lad Somewhere in Time Strapping Young Lad Big Red Car The Tea Party Killers The Tea Party Powerslave The Tea Party Surfing with the Alien The Tea Party Heavy as a Really Heavy Thing The Tea Party Yummy Yummy The Tea Party Out of the Loop The Tea Party Suck on This The Tea Party Pork Soda The Tea Party Sailing the Seas of Cheese The Tea Party Flying in a Blue Dream The Tea Party Black Swans and Wormhole Wizards The Tea Party Somewhere in Time The Tea Party Big Red Car The Wiggles Killers The Wiggles Powerslave The Wiggles Surfing with the Alien The Wiggles Heavy as a Really Heavy Thing The Wiggles Yummy Yummy The Wiggles Out of the Loop The Wiggles Suck on This The Wiggles Pork Soda The Wiggles Sailing the Seas of Cheese The Wiggles Flying in a Blue Dream The Wiggles Black Swans and Wormhole Wizards The Wiggles Somewhere in Time The Wiggles Big Red Car Wayne Jury Killers Wayne Jury Powerslave Wayne Jury Surfing with the Alien Wayne Jury Heavy as a Really Heavy Thing Wayne Jury Yummy Yummy Wayne Jury Out of the Loop Wayne Jury Suck on This Wayne Jury Pork Soda Wayne Jury Sailing the Seas of Cheese Wayne Jury Flying in a Blue Dream Wayne Jury Black Swans and Wormhole Wizards Wayne Jury Somewhere in Time Wayne Jury Big Red Car
हालांकि, अगर WHERE
क्लॉज जोड़ा जाता है, क्रॉस जॉइन एक आंतरिक जुड़ाव के रूप में व्यवहार करता है।
अन्य प्रकार के शामिल हों
SQL मानक में RIGHT OUTER JOIN
. भी शामिल है और FULL OUTER JOIN
, हालांकि, SQLite उन प्रकार के शामिल होने का समर्थन नहीं करता है।