UNION ALL ऑपरेटर का उपयोग SQL सर्वर में 2 या अधिक SELECT स्टेटमेंट से परिणाम सेट को संयोजित करने के लिए किया जाता है।
UNION ऑपरेटर के विपरीत, UNION ALL ऑपरेटर क्वेरी से सभी पंक्तियों को लौटाता है और डुप्लिकेट पंक्तियों को नहीं हटाता है।
UNION ऑपरेटर में प्रत्येक SELECT में संबंधित डेटा प्रकार के साथ परिणाम सेट में समान संख्या में कॉलम होने चाहिए।
यूनियन सभी ऑपरेटर सिंटैक्स
SELECTbieu_thuc1, bieu_thuc2, … bieu_thucn
FROM bang
[WHERE dieu_kien]
UNION ALL
SELECT bieu_thuc1, bieu_thuc2, … bieu_thucn
FROM bang
[WHERE dieu_k
ien];
परिवर्तनीय नाम या चर मान
bieu_thuc1, bieu_thuc2, . bieu_thucn
वह कॉलम या गणना मान जिसे आप पुनः प्राप्त करना चाहते हैं।
स्थिति
तालिका रिकॉर्ड प्राप्त करना चाहती है। FROM क्लॉज में कम से कम 1 टेबल होना चाहिए।
जहां dieu_kien
Option. चयनित रिकॉर्ड के लिए शर्तें पूरी होनी चाहिए।
नोट:
- 2 SELECT स्टेटमेंट में समान संख्या में एक्सप्रेशन होने चाहिए
- प्रत्येक SELECT स्टेटमेंट में कॉलम की संगत संख्या में समान डेटा प्रकार होना चाहिए
- UNION ऑपरेटर डुप्लिकेट पंक्तियों को नहीं हटाता है।
- अधिक यूनियन ऑपरेटर देखें
उदाहरण के लिए - एक सूचना फ़ील्ड लौटाएं
SELECT sanpham_id
FROM sanpham
UNION ALL
SELECT sanpham_id
FROM
hangtonkho;
यह उदाहरण परिणाम सेट में कई sanpham_id देता है यदि वे sanfam और hangtonkho दोनों तालिकाओं में दिखाई देते हैं। यदि आप डुप्लिकेट हटाना चाहते हैं, तो UNION संपूर्ण तत्व का उपयोग करें।
उदाहरण के लिए - ORDER BY का उपयोग करें
UNION ALL ऑपरेटर क्वेरी परिणामों को सॉर्ट करने के लिए ORDER BY क्लॉज का उपयोग कर सकता है।
SELECT danhba_id, danhba_ten
FROM danhba
WHERE ten_trang = 'QuanTriMang.com'
UNION ALL
SELECT congty_id, congty_ten
FROM congty
WHERE ten_trang = 'TrangCuaBan.com'
ORDER BY 2;
इस उदाहरण में, क्योंकि दो SELECT स्टेटमेंट में कॉलम का नाम अलग है, परिणाम सेट में स्थिति के अनुसार ORDER BY स्टेटमेंट में कॉलम को संदर्भित करना आसान है। उपरोक्त उदाहरण में, हम परिणामों को namba_ten / congty_ten द्वारा आरोही क्रम में फ़िल्टर करते हैं, जैसा कि वाक्यांश ORDER BY 2 में बताया गया है।
danhba_ten / congty_ten परिणाम सेट में दूसरे स्थान पर है।