Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menyelesaikan Ralat Sintaks KECUALI MySQL dan Cari Alternatif?

Bagaimana untuk Menyelesaikan Ralat Sintaks KECUALI MySQL dan Cari Alternatif?

Linda Hamilton
Lepaskan: 2024-12-31 08:24:13
asal
660 orang telah melayarinya

How to Resolve MySQL's EXCEPT Syntax Error and Find Alternatives?

MySQL EXCEPT Syntax Error: Resolution and Alternatives

Ralat yang dihadapi semasa cuba melaksanakan pertanyaan dengan operator EXCEPT dalam MySQL timbul kerana kekurangan sokongan untuk sintaks ini.

Untuk mengatasinya isu, pertimbangkan untuk menggunakan pendekatan alternatif seperti NOT IN atau LEFT JOIN:

SELECT s.sno 
FROM students s
WHERE s.sno NOT IN 
(
    SELECT t.sno 
    FROM take t 
    WHERE t.cno = 'CS112'
);
Salin selepas log masuk

Sebagai alternatif, anda boleh menggunakan LEFT JOIN:

SELECT s.sno 
FROM students s
    LEFT JOIN take t ON s.sno = t.sno
WHERE IFNULL(t.cno, '') != 'CS112'
Salin selepas log masuk

Demonstrasi dengan Jadual Sementara:

Untuk menggambarkan keberkesanan alternatif ini, mari kita cipta jadual sementara dengan sampel data:

create temporary table temp_students (sno int)

insert into temp_students values (1)
insert into temp_students values (2)
insert into temp_students values (3)
insert into temp_students values (4)
insert into temp_students values (5)
insert into temp_students values (6)
insert into temp_students values (7)
insert into temp_students values (8)
insert into temp_students values (9)
insert into temp_students values (10)

create temporary table temp_take (sno int, cno varchar(50))

insert into temp_take values (1, 'CS112')
insert into temp_take values (2, 'CS112')
insert into temp_take values (3, 'CS112')
insert into temp_take values (4, 'CS112')

Execute the following query to retrieve students who are not enrolled in CS112:

SELECT s.sno 
FROM temp_students s
        LEFT JOIN temp_take t ON s.sno = t.sno
WHERE IFNULL(t.cno, '') != 'CS112'
Salin selepas log masuk

Pertanyaan ini harus mengembalikan nombor pelajar 5 hingga 10.

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat Sintaks KECUALI MySQL dan Cari Alternatif?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan