Rumah > pangkalan data > tutorial mysql > Bagaimana untuk menggunakan MySQL LEFT JOIN untuk mensimulasikan pertanyaan MySQL MINUS?

Bagaimana untuk menggunakan MySQL LEFT JOIN untuk mensimulasikan pertanyaan MySQL MINUS?

王林
Lepaskan: 2023-09-16 11:09:15
ke hadapan
755 orang telah melayarinya

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

Memandangkan kami tidak boleh menggunakan pertanyaan MINUS dalam MySQL, kami akan menggunakan LEFT JOIN untuk mensimulasikan pertanyaan MINUS. Ia boleh difahami dengan bantuan contoh berikut:

Contoh

Dalam contoh ini kita mempunyai dua jadual iaitu Student_detail dan Student_info dengan data berikut-

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)
Salin selepas log masuk

Kini pertanyaan berikut menggunakan LEFT JOIN akan mensimulasikan MINUS untuk mengembalikan Student_info " studentid" dalam , tetapi tidak mengembalikan nilai daripada jadual Student_detail.

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)
Salin selepas log masuk

Sekarang, pertanyaan berikut akan memberikan kita hasil yang bertentangan dengan pertanyaan di atas iaitu ia akan mengembalikan nilai "studentid" dalam Student_detail tetapi tidak akan mengembalikan nilai dalam jadual Student_info.

rreeee

Atas ialah kandungan terperinci Bagaimana untuk menggunakan MySQL LEFT JOIN untuk mensimulasikan pertanyaan MySQL MINUS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan