Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> SQL Server

SQL सर्वर में इंटरसेक्ट ऑपरेटर

SQL Server (Transact-SQL) में, INTERSECT ऑपरेटर का उपयोग डेटा सेट या SELECT स्टेटमेंट दोनों में रिकॉर्ड वापस करने के लिए किया जाता है। यदि कोई रिकॉर्ड केवल एक क्वेरी में उपलब्ध है और दूसरे में नहीं, तो उसे INTERSECT के परिणाम सेट से हटा दिया जाएगा।

इंटरसेक्ट क्वेरी

SQL सर्वर में इंटरसेक्ट ऑपरेटर
इंटरसेक्ट क्वेरी से लौटाए गए परिणाम को स्पष्ट करें

स्पष्टीकरण: इंटरसेक्ट क्वेरी ब्लू फिल क्षेत्र में स्थित रिकॉर्ड लौटाएगी। ये रिकॉर्ड डेटाबेस1 और डेटाबेस2 दोनों में हैं।

INTERSECT में प्रत्येक चयन में समान डेटा प्रकार के साथ परिणाम सेट में समान संख्या में कॉलम होने चाहिए।

इंटर्सेक्ट ऑपरेटर सिंटैक्स

  SELECT b ieu_thuc1, bieu_thuc2, … bieu_thucn 
FROM bang
[WHERE dieu_kien]
INTERSECT
SELECT bieu_thuc1, bieu_thuc2, … bieu_thucn
FROM bang
[WHERE dieu_kie n];

परिवर्तनीय नाम या चर मान

bieu_thuc

वह कॉलम या मान जिसे आप SELECT स्टेटमेंट के बीच तुलना करना चाहते हैं। ज़रूरी नहीं है कि वे हर सेलेक्ट स्टेटमेंट में एक ही सूचना क्षेत्र में हों, लेकिन संबंधित कॉलम में एक ही डेटा होना चाहिए।

स्थिति

तालिका वहां से रिकॉर्ड प्राप्त करना चाहती है। FROM क्लॉज में कम से कम 1 टेबल होना चाहिए।

जहां dieu_kien

Option. चयनित रिकॉर्ड के लिए शर्तें पूरी होनी चाहिए।

नोट:

  1. दो चयन कथनों में समान भाव होने चाहिए।
  2. प्रत्येक SELECT स्टेटमेंट में संबंधित कॉलम का डेटा प्रकार समान होना चाहिए।
  3. इंटरसेक्ट ऑपरेटर SELECT स्टेटमेंट के बीच केवल सामान्य रिकॉर्ड लौटाता है।

उदाहरण के लिए - 1 एक्सप्रेशन के साथ

  SELECT sa npham_id 
FROM sanpham
INTERSECT
SELECT sanpham_id
FROM hangtonk ho;

इस उदाहरण में, यदि sanpham_id, sanpham और hangtonkho दोनों टेबलों पर दिखाई देता है, तो यह INTERSECT के परिणाम सेट में होगा।

अब इस क्वेरी में WHERE शर्त जोड़ें।

  SELECT sanph am_id 
FROM sanpham
WHERE sanpham_id >= 50
INTERSECT
SELECT sanpham_id
FROM hangtonkho
WHERE soluong > 0;

पहला डेटासेट डैशबोर्ड और sanpham_id में रिकॉर्ड्स को फ़िल्टर और लौटाएगा 50 से अधिक या उसके बराबर। दूसरा डेटा सेट hangtonkho . से फ़िल्टर होगा तालिका यदि संख्या 0 से अधिक है।

उदाहरण के लिए - अनेक भावों के साथ

  SE LECT danhba_id, ho, ten 
FROM danhba
WHERE ho = 'Anderson'
INTERSECT
SELECT nhanvien_id, ho, ten
FROM nh anvien;

इस उदाहरण में, क्वेरी दो SELECT कथनों के प्रतिच्छेदन का परिणाम लौटाती है। अगर danhba . की सूची में कोई रिकॉर्ड है वह danhba_id , ho , ten danhba danhba_id , INTERSECT क्वेरी का नाम उन रिकॉर्ड्स को लौटा देगा।

उदाहरण के लिए - ORDER BY का उपयोग करें

परिणामों को क्रमबद्ध करने के लिए INTERSECT क्वेरी के साथ ORDER BY क्लॉज का उपयोग करें।

  SELECT nhacun g_id, nhacung_ten 
FROM nhacung
WHERE nhacung_id > 500
INTERSECT
SELECT congty_id, congty_ten
FROM congty
WHERE congty_ten in ('Apple', 'Microsoft', 'SQL Server')
ORDER BY 2;

चूंकि दो SELECT स्टेटमेंट में कॉलम का नाम अलग है, इसलिए ORDER BY क्लॉज में कॉलम को परिणाम सेट में उनकी स्थिति के आधार पर संदर्भित करना आसान है। उपरोक्त उदाहरण में, हम परिणाम को फ़िल्टर करते हैं nhacung_ten / congty_ten ORDER BY 2 वाक्यांश के माध्यम से आरोही क्रम में।

क्योंकि nhacung_ten / congty_ten परिणाम सेट में दूसरा है।


  1. SQL सर्वर में इंटरसेक्ट ऑपरेटर

    SQL Server (Transact-SQL) में, INTERSECT ऑपरेटर का उपयोग डेटा सेट या SELECT स्टेटमेंट दोनों में रिकॉर्ड वापस करने के लिए किया जाता है। यदि कोई रिकॉर्ड केवल एक क्वेरी में उपलब्ध है और दूसरे में नहीं, तो उसे INTERSECT के परिणाम सेट से हटा दिया जाएगा। इंटरसेक्ट क्वेरी इंटरसेक्ट क्वेरी से लौटाए गए पर

  1. MS SQL Server में डेटाबेस कैसे चुनें?

    आप नीचे दिए गए तरीकों में से किसी एक में काम करने के लिए MS SQL सर्वर में डेटाबेस का चयन कर सकते हैं। विधि 1:SQL सर्वर प्रबंधन स्टूडियो का उपयोग करें msdb, नामक डेटाबेस पर बैकअप इतिहास का चयन करने के लिए क्वेरी चलाएँ msdb चुनें जैसा कि नीचे चित्र में दिखाया गया है। डेटाबेस बैकअप अनुभाग में से चु

  1. एमएस एसक्यूएल सर्वर क्या है?

    एसक्यूएल सर्वर क्या है? आरडीबीएमएस पर आधारित माइक्रोसॉफ्ट द्वारा विकसित सॉफ्टवेयर। एक ORDBMS (ऑब्जेक्ट रिलेशनल डेटाबेस मैनेजमेंट सिस्टम) भी है। एक स्वतंत्र मंच। सॉफ्टवेयर कमांड लाइन इंटरफेस और जीयूआई इंटरफेस दोनों का उपयोग करता है। SQL भाषा समर्थन (पूर्व में SEQUEL - संरचित अंग्रेजी क्वेरी भाषा) -