SQL INTERSECT Clause Operator को दो SELECT Statements को Combine करने के लिए प्रयोग किया जाता है.
यह लेकिन केवल दूसरे SELECT Statements में एक rows के समान दिखने वाली पहली SELECT Statement से Rows को देता है.
INTERSECT दो Optional SELECT Statements द्वारा केवल Common Rows को Returns करता है.
UNION Operator के साथ, वही Rules लागू होते हैं जब INTERSECT Operator का उपयोग करते हैं.
MySQL INTERSECT Operator को Support नहीं करता हैं.
SELECT column1 [, column2 ]
FROM table1 [, table2 ]
[WHERE condition]
INTERSECT
SELECT column1 [, column2 ]
FROM table1 [, table2 ]
[WHERE condition]
यहां पर दी गई Condition आपकी आवश्यकता के आधार पर कोई भी Expression हो सकती है.
यहां पर हम Two Tables पर विचार करेंगे.
Table 1 Customers Table
Customers ID | Name | Address | Age | Salary |
---|---|---|---|---|
7856 | Anna | Hyderabad | 40 | 10000 |
7126 | Muffy | Hyderabad | 21 | 20000 |
7836 | Bettie | Hyderabad | 35 | 30000 |
7156 | Betty | Hyderabad | 42 | 40000 |
7056 | Emma | Hyderabad | 27 | 50000 |
7446 | Sarah | Hyderabad | 29 | 60000 |
Table 2 Orders Table
Customers ID | Orders ID | Date | Amount |
---|---|---|---|
7856 | 101 | 2017-11-18 | 20000 |
7126 | 102 | 2017-11-19 | 30000 |
7836 | 103 | 2017-11-20 | 40000 |
7156 | 104 | 2017-11-21 | 50000 |
7056 | 105 | 2017-11-22 | 60000 |
7446 | 106 | 2017-11-23 | 70000 |
अब हम इन दोनो Tables में अपने SELECT Statement में शामिल होने देंगे.
SQL> SELECT ID, NAME, AMOUNT, DATE
FROM CUSTOMERS
LEFT JOIN ORDERS
ON CUSTOMERS.ID = ORDERS.CUSTOMER_ID
INTERSECT
SELECT ID, NAME, AMOUNT, DATE
FROM CUSTOMERS
RIGHT JOIN ORDERS
ON CUSTOMERS.ID = ORDERS.CUSTOMER_ID;
Customers ID | Name | Amount | Date |
---|---|---|---|
7856 | Anna | 10000 | 2016-11-03 |
7126 | Muffy | 20000 | 2016-11-04 |
7836 | Bettie | 30000 | 2016-11-05 |
7156 | Betty | 40000 | 2016-11-06 |
7056 | Emma | 50000 | 2016-11-07 |
7446 | Sarah | 60000 | 2016-11-08 |