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