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

यदि मैं राइट जॉइन या लेफ्ट जॉइन के लिए क्वेरी लिखते समय 'राइट' या 'लेफ्ट' कीवर्ड का उपयोग नहीं करता हूं तो MySQL क्या लौटाता है?


दोनों ही मामलों में यानी क्वेरी में 'RIGHT' या 'LEFT' कीवर्ड का उपयोग नहीं करने पर, MySQL इसे INNER JOIN क्वेरी के रूप में लेकर परिणाम लौटाएगा। ऐसा इसलिए है क्योंकि राइट, लेफ्ट और इनर जॉइन के बीच एकमात्र अंतर राइट या लेफ्ट का कीवर्ड है। इसे समझने के लिए, हम tbl_1 और tbl_2 नाम की दो तालिकाओं का उदाहरण ले रहे हैं, जिनमें निम्न डेटा है -

mysql> Select * from tbl_1;
+----+--------+
| Id | Name   |
+----+--------+
| 1  | Gaurav |
| 2  | Rahul  |
| 3  | Raman  |
| 4  | Aarav  |
+----+--------+
4 rows in set (0.00 sec)

mysql> Select * from tbl_2;
+----+---------+
| Id | Name    |
+----+---------+
| A  | Aarav   |
| B  | Mohan   |
| C  | Jai     |
| D  | Harshit |
+----+---------+
4 rows in set (0.00 sec)

अब, RIGHT कीवर्ड के साथ RIGHT JOIN की क्वेरी इस प्रकार हो सकती है -

mysql> SELECT tbl_1.id,tbl_2.id FROM tbl_1 RIGHT JOIN tbl_2 ON tbl_1.name = tbl_2.name;
+------+----+
| id   | id |
+------+----+
| 4    | A  |
| NULL | B  |
| NULL | C  |
| NULL | D  |
+------+----+
4 rows in set (0.00 sec)

अब, निम्नलिखित प्रश्न में हम कीवर्ड का उपयोग नहीं कर रहे हैं RIGHT -

mysql> Select tbl_1.id,tbl_2.id FROM tbl_1 JOIN tbl_2 ON tbl_1.name = tbl_2.name;
+----+----+
| id | id |
+----+----+
| 4  | A  |
+----+----+
1 row in set (0.00 sec)

उपरोक्त परिणाम सेट से, हम अंतर देख सकते हैं कि कीवर्ड 'RIGHT' का उपयोग किए बिना, MySQL इसे INNER JOIN के लिए एक क्वेरी के रूप में लेता है और तदनुसार परिणाम लौटाता है।

अब, कीवर्ड LEFT के साथ LEFT JOIN के लिए क्वेरी इस प्रकार हो सकती है -

mysql> SELECT tbl_1.id,tbl_2.id FROM tbl_1 LEFT JOIN tbl_2 ON tbl_1.name = tbl_2.name;
+----+------+
| id | id   |
+----+------+
| 1  | NULL |
| 2  | NULL |
| 3  | NULL |
| 4  | A    |
+----+------+
4 rows in set (0.02 sec)

अब, निम्नलिखित प्रश्न में हम कीवर्ड LEFT का उपयोग नहीं कर रहे हैं -

mysql> Select tbl_1.id,tbl_2.id FROM tbl_1 JOIN tbl_2 ON tbl_1.name = tbl_2.name;
+----+----+
| id | id |
+----+----+
| 4  | A  |
+----+----+
1 row in set (0.00 sec)

उपरोक्त परिणाम सेट से, हम अंतर देख सकते हैं कि 'LEFT' कीवर्ड का उपयोग किए बिना, MySQL इसे INNER JOIN के लिए क्वेरी के रूप में लेता है और तदनुसार परिणाम लौटाता है।


  1. एक MySQL क्वेरी में इनपुट पैरामीटर (चर) के लिए सिंटैक्स क्या है?

    MySQL में एक वेरिएबल सेट करने के लिए, आपको SET कमांड का उपयोग करना होगा। निम्नलिखित वाक्य रचना है: @yourVariableName:=yourValue सेट करें; अपनेTableName से *चुनें जहां yourColumnName=@yourVariableName; आइए पहले एक टेबल बनाएं: टेबल बनाएं DemoTable(Id int, FirstName varchar(20), LastName varchar(20))

  1. MySQL तालिका बनाते समय आरक्षित कीवर्ड 'कुंजी' का उपयोग करें

    आरक्षित कीवर्ड कुंजी का उपयोग करने के लिए, बैकटिक प्रतीक की अवधारणा का उपयोग करें। यहां, हमारे उदाहरण के लिए, मैं कॉलम नाम कुंजी का उपयोग कर रहा हूं जिसे कॉलम नाम के चारों ओर एक बैकटिक प्रतीक की आवश्यकता है। आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable(`Key` int);query OK, 0 Rows प्रभावित (0.67 स

  1. उन मानों के लिए डेटाबेस को क्वेरी करें जो MySQL तालिका में नहीं हैं?

    इसके लिए, आप UNION ALL के साथ WHERE NOT EXISTS का उपयोग कर सकते हैं और तालिका में पहले से मौजूद मानों को अनदेखा करने के लिए NOT IN लागू कर सकते हैं। तालिका में पहले से मौजूद मानों को जोड़ने के लिए UNION ALL के साथ SELECT का उपयोग करें। आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable1918 (वैल्यू int