Bagaimanakah kita boleh mensimulasikan pertanyaan MySQL MINUS?

WBOY
Lepaskan: 2023-09-09 14:49:06
ke hadapan
1189 orang telah melayarinya

我们如何模拟 MySQL MINUS 查询?

Memandangkan kami tidak boleh menggunakan pertanyaan MINUS dalam MySQL, kami akan menggunakan JOIN untuk mensimulasikan pertanyaan MINUS. Ia boleh difahami melalui 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 JOINS akan mensimulasikan MINUS untuk mengembalikan Student_info " nilai 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 Bagaimanakah kita boleh 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