EXISTS सबक्वेरी से क्रॉस-टेबल मिलान
EXISTS सबक्वेरी का उपयोग करके एक टेबल की पंक्तियाँ चुनें जहाँ कॉलम मान दूसरी टेबल के कॉलम मान से मेल खाता हो।
पहली टेबल (विषय)
mysql> CREATE TABLE DemoTable1 (Id INT, SubjectName VARCHAR(20));
mysql> INSERT INTO DemoTable1 VALUES
-> (111, 'MySQL'), (112, 'MongoDB'), (113, 'Java'), (114, 'C'), (115, 'MySQL');
दूसरी टेबल (छात्र)
mysql> CREATE TABLE DemoTable2 (FirstName VARCHAR(20), StudentSubject VARCHAR(20));
mysql> INSERT INTO DemoTable2 VALUES
-> ('Chris', 'MySQL'), ('Bob', 'MySQL'), ('Sam', 'MySQL'), ('Carol', 'C');
क्वेरी: DemoTable1 की आईडी जहाँ विषय DemoTable2 में मौजूद हो
mysql> SELECT Id FROM DemoTable1
-> WHERE EXISTS (
-> SELECT 1 FROM DemoTable2
-> WHERE SubjectName = StudentSubject
-> );
परिणाम
+------+
| Id |
+------+
| 111 |
| 114 |
| 115 |
+------+
व्याख्या:
MySQLDemoTable2 में 3 बार है → 111, 115 मिलते हैंCDemoTable2 में है → 114 मिलता हैMongoDB,Javaनहीं हैं → 112, 113 बाहरEXISTSINसे अधिक कुशल हो सकता है (जल्दी रुकता है)