सारांश :यह ट्यूटोरियल आपको दिखाता है कि एकाधिक टेबल से डेटा क्वेरी करने के लिए SQLite इनर जॉइन क्लॉज का उपयोग कैसे करें।
SQLite इनर जॉइन क्लॉज का परिचय
रिलेशनल डेटाबेस में, डेटा को अक्सर कई संबंधित तालिकाओं में वितरित किया जाता है। विदेशी कुंजियों का उपयोग करके एक तालिका दूसरी तालिका से जुड़ी होती है।
एकाधिक तालिकाओं से डेटा क्वेरी करने के लिए, आप INNER JOIN
. का उपयोग करते हैं खंड। INNER JOIN
खंड सहसंबद्ध तालिकाओं से स्तंभों को जोड़ता है।
मान लीजिए आपके पास दो टेबल हैं:A और B.
A में a1, a2, और f कॉलम हैं। बी में बी 1, बी 2 और एफ कॉलम है। एफ नामक विदेशी कुंजी कॉलम का उपयोग करके ए टेबल बी टेबल से लिंक करता है।
निम्नलिखित इनर जॉइन क्लॉज के सिंटैक्स को दिखाता है:
SELECT a1, a2, b1, b2
FROM A
INNER JOIN B on B.f = A.f;
Code language: SQL (Structured Query Language) (sql)
A तालिका में प्रत्येक पंक्ति के लिए, INNER JOIN
खंड बी तालिका में एफ कॉलम के मूल्य के साथ एफ कॉलम के मूल्य की तुलना करता है। यदि A तालिका में f स्तंभ का मान B तालिका में f स्तंभ के मान के बराबर है, तो यह a1, a2, b1, b2, स्तंभों के डेटा को जोड़ता है और इस पंक्ति को परिणाम सेट में शामिल करता है।
दूसरे शब्दों में, INNER JOIN
क्लॉज A तालिका से पंक्तियों को लौटाता है जिसमें B तालिका में संबंधित पंक्ति होती है।
यदि आप 2 से अधिक तालिकाओं को जोड़ते हैं तो यह तर्क लागू होता है।
निम्न उदाहरण देखें।
केवल A तालिका में पंक्तियाँ:(a1,1), (a3,3) में B तालिका में संगत पंक्तियाँ हैं (b1,1), (b2,3) परिणाम सेट में शामिल हैं।
निम्नलिखित आरेख INNER JOIN
को दर्शाता है खंड:
SQLite INNER JOIN
उदाहरण
आइए एक नज़र डालते हैं tracks
. पर और albums
नमूना डेटाबेस में तालिकाएँ। tracks
तालिका albums
से लिंक करती है AlbumId
. के माध्यम से तालिका कॉलम।
tracks
. में तालिका, AlbumId
कॉलम एक विदेशी कुंजी है। और albums
. में तालिका, AlbumId
प्राथमिक कुंजी है।
दोनों tracks
से डेटा क्वेरी करने के लिए और albums
टेबल, आप निम्न कथन का उपयोग करते हैं:
SELECT
trackid,
name,
title
FROM
tracks
INNER JOIN albums ON albums.albumid = tracks.albumid;
Code language: SQL (Structured Query Language) (sql)
इसे आज़माएं
ट्रैक तालिका में प्रत्येक पंक्ति के लिए, SQLite albumid
. में मान का उपयोग करता है tracks
. का स्तंभ albumid
. में मान के साथ तुलना करने के लिए तालिका albums
का टेबल। यदि SQLite को एक मिलान मिलता है, तो यह परिणाम सेट में दोनों तालिकाओं में पंक्तियों के डेटा को जोड़ता है।
आप AlbumId
. शामिल कर सकते हैं अंतिम परिणाम में दोनों तालिकाओं के कॉलम प्रभाव देखने के लिए सेट हैं।
SELECT
trackid,
name,
tracks.albumid AS album_id_tracks,
albums.albumid AS album_id_albums,
title
FROM
tracks
INNER JOIN albums ON albums.albumid = tracks.albumid;
Code language: SQL (Structured Query Language) (sql)
इसे आज़माएं
SQLite इनर जॉइन - 3 टेबल उदाहरण
निम्न तालिकाएं देखें:tracks
albums
और artists
एक ट्रैक एक एल्बम का होता है और एक एल्बम में कई ट्रैक होते हैं। tracks
albums
. से संबद्ध तालिका albumid
. के माध्यम से तालिका कॉलम।
एक एल्बम एक कलाकार का होता है और एक कलाकार के पास एक या कई एल्बम होते हैं। albums
artists
. के लिए तालिका लिंक artistid
. के माध्यम से तालिका कॉलम।
इन तालिकाओं के डेटा को क्वेरी करने के लिए, आपको SELECT
. में दो इनर जॉइन क्लॉज़ का उपयोग करना होगा बयान इस प्रकार है:
SELECT
trackid,
tracks.name AS track,
albums.title AS album,
artists.name AS artist
FROM
tracks
INNER JOIN albums ON albums.albumid = tracks.albumid
INNER JOIN artists ON artists.artistid = albums.artistid;
Code language: SQL (Structured Query Language) (sql)
इसे आज़माएं
आप निम्न कथन के रूप में आईडी 10 के साथ कलाकार के ट्रैक और एल्बम प्राप्त करने के लिए WHERE क्लॉज का उपयोग कर सकते हैं:
SELECT
trackid,
tracks.name AS Track,
albums.title AS Album,
artists.name AS Artist
FROM
tracks
INNER JOIN albums ON albums.albumid = tracks.albumid
INNER JOIN artists ON artists.artistid = albums.artistid
WHERE
artists.artistid = 10;
Code language: SQL (Structured Query Language) (sql)
इसे आज़माएं
इस ट्यूटोरियल में, आपने सीखा है कि SQLite INNER JOIN
का उपयोग कैसे करें एकाधिक तालिकाओं से डेटा क्वेरी करने के लिए खंड।