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

SQLite इनर जॉइन

सारांश :यह ट्यूटोरियल आपको दिखाता है कि एकाधिक टेबल से डेटा क्वेरी करने के लिए 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 का उपयोग कैसे करें एकाधिक तालिकाओं से डेटा क्वेरी करने के लिए खंड।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQLite में दो टाइमस्टैम्प के बीच अंतर की गणना कैसे करें

  2. SQLite तालिका का वर्णन करें

  3. SQLite में तिथि के अनुसार ऑर्डर कैसे करें

  4. सूची <मॉडल वर्ग> को sqlite में सहेजें

  5. MacOS पर SQLite कैसे स्थापित करें