Heim > Datenbank > MySQL-Tutorial > Wie verwende ich MySQL LEFT JOIN, um eine MySQL MINUS-Abfrage zu simulieren?

Wie verwende ich MySQL LEFT JOIN, um eine MySQL MINUS-Abfrage zu simulieren?

王林
Freigeben: 2023-09-16 11:09:15
nach vorne
768 Leute haben es durchsucht

如何使用MySQL LEFT JOIN 来模拟MySQL MINUS 查询?

Da wir in MySQL keine MINUS-Abfrage verwenden können, verwenden wir LEFT JOIN, um die MINUS-Abfrage zu simulieren. Dies kann anhand des folgenden Beispiels verstanden werden:

Beispiel

In diesem Beispiel haben wir zwei Tabellen, nämlich Student_detail und Student_info, mit den folgenden Daten:

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)
Nach dem Login kopieren

Jetzt simuliert die folgende Abfrage mit LEFT JOIN MINUS, um Student_info zurückzugeben. „studentid“-Wert in , gibt jedoch nicht den Wert aus der Tabelle „Student_detail“ zurück.

mysql> SELECT studentid from student_info LEFT JOIN Student_detail USING(studentid) WHERE student_detail.studentid IS NULL;
+-----------+
| studentid |
+-----------+
|       165 |
+-----------+
1 row in set (0.07 sec)
Nach dem Login kopieren

Die folgende Abfrage liefert uns nun das entgegengesetzte Ergebnis zur obigen Abfrage, d. h. sie gibt den Wert „studentid“ in „Student_detail“ zurück, aber nicht den Wert in der Tabelle „Student_info“.

mysql> SELECT studentid from student_detail LEFT JOIN Student_info USING(studentid) WHERE student_info.studentid IS NULL;
+-----------+
| studentid |
+-----------+
|       150 |
|      160  |
+-----------+
2 rows in set (0.00 sec)
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie verwende ich MySQL LEFT JOIN, um eine MySQL MINUS-Abfrage zu simulieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage