SQLite में, UNION
ऑपरेटर एक कंपाउंड बनाता है SELECT
वह कथन जो बाएँ और दाएँ के परिणाम देता है SELECT
बयान। दूसरे शब्दों में, यह दो प्रश्नों के परिणामों को एक परिणाम सेट में जोड़ता है।
उदाहरण
मान लीजिए कि हमारे पास निम्नलिखित टेबल हैं:
SELECT * FROM Teachers;
SELECT * FROM Students;
परिणाम:
TeacherId TeacherName --------- ----------- 1 Warren 2 Ben 3 Cathy 4 Cathy 5 Bill 6 Bill StudentId StudentName --------- ----------- 1 Faye 2 Jet 3 Spike 4 Ein 5 Warren 6 Bill
हम UNION
. का उपयोग कर सकते हैं सभी शिक्षकों और छात्रों को वापस करने के लिए ऑपरेटर:
SELECT TeacherName FROM Teachers
UNION
SELECT StudentName FROM Students;
परिणाम:
TeacherName ----------- Ben Bill Cathy Ein Faye Jet Spike Warren
डिफ़ॉल्ट रूप से, UNION
ऑपरेटर परोक्ष रूप से एक DISTINCT
लागू करता है कार्यवाही। दूसरे शब्दों में, यह डिफ़ॉल्ट रूप से केवल विशिष्ट मान देता है। तो उपरोक्त परिणामों में वॉरेन, कैथी और बिल में से केवल एक-एक है। यह इस तथ्य के बावजूद है कि संयुक्त तालिकाओं में वास्तव में दो वॉरेन, दो कैथिस और तीन बिल होते हैं (कैथी नामक दो शिक्षक हैं, एक शिक्षक और वॉरेन नामक एक ग्राहक, और दो को बिल कहा जाता है, साथ ही एक छात्र जिसे बिल कहा जाता है)।
डुप्लिकेट शामिल करें
हम ALL
का उपयोग कर सकते हैं परिणामों में डुप्लीकेट मान शामिल करने के लिए कीवर्ड:
SELECT TeacherName FROM Teachers
UNION ALL
SELECT StudentName FROM Students;
परिणाम:
TeacherName ----------- Warren Ben Cathy Cathy Bill Bill Faye Jet Spike Ein Warren Bill
इस बार हमें आठ के बजाय बारह पंक्तियाँ मिलीं जो हमें अपने पहले उदाहरण में मिली थीं।
हम देख सकते हैं कि दोनों कैथी वापस आ गए और तीनों बिल वापस कर दिए गए।