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

एकाधिक एक्सप्रेशन लौटाने वाले MySQL INTERSECT क्वेरी को कैसे सिमुलेट करें?


चूंकि हम MySQL में INTERSECT क्वेरी का उपयोग नहीं कर सकते, हम EXISTS ऑपरेटर का उपयोग करके INTERSECT क्वेरी को सिमुलेट करेंगे। इसे निम्न उदाहरण से समझा जा सकता है -

उदाहरण

इस उदाहरण में, हम दो टेबल Student_detail और Student_info ले रहे हैं जिनमें निम्न डेटा है -

mysql> Select * from Student_detail; 
+-----------+---------+------------+------------+
| studentid | Name    | Address    | Subject    |
+-----------+---------+------------+------------+
|       101 | YashPal | Amritsar   | History    |
|       105 | Gaurav  | Chandigarh | Literature |
|       130 | Ram     | Jhansi     | Computers  |
|       132 | Shyam   | Chandigarh | Economics  |
|       133 | Mohan   | Delhi      | Computers  |
|       150 | Rajesh  | Jaipur     | Yoga       |
|       160 | Pradeep | Kochi      | Hindi      |
+-----------+---------+------------+------------+
7 rows in set (0.00 sec)

mysql> Select * from Student_info; 
+-----------+-----------+------------+-------------+
| studentid | Name      | Address    | Subject     |
+-----------+-----------+------------+-------------+
|       101 | YashPal   | Amritsar   | History     |
|       105 | Gaurav    | Chandigarh | Literature  |
|       130 | Ram       | Jhansi     | Computers   |
|       132 | Shyam     | Chandigarh | Economics   |
|       133 | Mohan     | Delhi      | Computers   |
|       165 | Abhimanyu | Calcutta   | Electronics |
+-----------+-----------+------------+-------------+
6 rows in set (0.00 sec)

अब, WHERE क्लॉज के साथ EXISTS ऑपरेटर का उपयोग करने वाली निम्न क्वेरी INTERSECT को सिमुलेट करेगी ताकि 'studentid', Name, Address लौटाए जाएं जहां नाम 'Yashpal' नहीं है जो दोनों टेबल में मौजूद हैं -

mysql>Select Student_detail.studentid,Student_detail.name, student_detail.address FROM student_detail WHERE Student_detail.studentid >100 AND EXISTS (SELECT * FROM Student_info WHERE Student_info.Name <> 'Yashpal' AND Student_info.studentid = Student_detail.studentid AND Student_info.name = Student_detail.name); 
+-----------+--------+------------+
| studentid | name   | address    |
+-----------+--------+------------+
|       105 | Gaurav | Chandigarh |
|       130 | Ram    | Jhansi     |
|       132 | Shyam  | Chandigarh |
|       133 | Mohan  | Delhi      |
+-----------+--------+------------+
4 rows in set (0.00 sec)

  1. - MySQL में UNION ALL का उपयोग करके एकाधिक टेबल के कॉलम का योग करना

    समाधान: UNION ALL के साथ उपक्वेरी एकाधिक टेबल के समान कॉलम का कुल योग प्राप्त करने के लिए UNION ALL का उपयोग करके डेटा संयोजित करें, फिर बाहरी क्वेरी में SUM() लागू करें। सिंटैक्स SELECT SUM(tbl.columnName) AS TotalSum FROM ( SELECT columnName FROM table1 UNION ALL SELECT columnName FRO

  1. - MySQL में वर्तमान सप्ताह के डेटा को कैसे क्वेरी करें?

    MySQL में वर्तमान सप्ताह के रिकॉर्ड प्राप्त करने का तरीका MySQL में वर्तमान सप्ताह के डेटा को फ़िल्टर करने के लिए YEARWEEK() फ़ंक्शन का उपयोग किया जाता है। यह फ़ंक्शन दिए गए दिनांक का वर्ष और सप्ताह संख्या लौटाता है, जिससे वर्तमान सप्ताह के रिकॉर्ड आसानी से प्राप्त किए जा सकते हैं। सिंटैक्स SELECT

  1. - MySQL में SELECT क्वेरी परिणाम को क्रमबद्ध करना (ORDER BY)

    टेबल से डेटा चुनते समय पंक्तियाँ टेबल में मौजूद क्रम में आती हैं। विशिष्ट क्रम में प्राप्त करने के लिए ORDER BY उपयोग करें। सिंटैक्स आरोही क्रम (डिफ़ॉल्ट): SELECT * FROM table_name ORDER BY column_name अवरोही क्रम: SELECT * FROM table_name ORDER BY column_name DESC Python में MySQL से क्रमबद्ध डेट