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

SQL Server में INTERSECT ऑपरेटर

INTERSECT क्वेरी

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

SQL Server में INTERSECT ऑपरेटर
INTERSECT क्वेरी से लौटाए गए परिणाम का चित्रण

व्याख्या: INTERSECT क्वेरी ब्लू भरे क्षेत्र में स्थित रिकॉर्ड्स लौटाएगी। ये रिकॉर्ड्स database1 और database2 दोनों में हैं।

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

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

SELECT expression1, expression2, ... expression_n
FROM table
[WHERE condition]
INTERSECT
SELECT expression1, expression2, ... expression_n
FROM table
[WHERE condition];

वेरिएबल नाम या मान

expression: वह कॉलम या मान जिसे आप SELECT स्टेटमेंट्स के बीच तुलना करना चाहते हैं। उन्हें प्रत्येक SELECT स्टेटमेंट में एक ही इनफॉर्मेशन फील्ड में होने की आवश्यकता नहीं है लेकिन संबंधित कॉलम्स का डेटा समान होना चाहिए।
table: वह टेबल जिससे आप रिकॉर्ड्स प्राप्त करना चाहते हैं। FROM क्लॉज में कम से कम 1 टेबल होनी चाहिए।
WHERE condition: वैकल्पिक। चयनित रिकॉर्ड के लिए संतुष्ट होने वाली शर्तें।

नोट:

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

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

SELECT sanpham_id
FROM sanpham
INTERSECT
SELECT sanpham_id
FROM hangtonkho;

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

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

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

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

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

SELECT danhba_id, ho, ten
FROM danhba
WHERE ho = 'Anderson'
INTERSECT
SELECT nhanvien_id, ho, ten
FROM nhanvien;

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

उदाहरण - ORDER BY का उपयोग

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

SELECT nhacungcap_id, nhacungcap_ten
FROM nhacungcap
WHERE nhacungcap_id > 500
INTERSECT
SELECT congty_id, congty_ten
FROM congty
WHERE congty_ten IN ('Apple', 'Microsoft', 'SQL Server')
ORDER BY 2;

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

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

  1. SQL Server में INTERSECT ऑपरेटर SQL Server में INTERSECT ऑपरेटर

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

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

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

  1. - MS SQL Server क्या है?

    SQL Server क्या है? Microsoft द्वारा विकसित सॉफ़्टवेयर जो RDBMS पर आधारित है। यह एक ORDBMS (Object Relational Database Management System) भी है। एक स्वतंत्र प्लेटफ़ॉर्म। सॉफ़्टवेयर कमांड लाइन इंटरफेस और GUI इंटरफेस दोनों का उपयोग करता है। SQL भाषा समर्थन (पूर्व में SEQUEL - स्ट्रक्चर्ड इंग्लिश क्वे