Ralat Sintaks: KECUALI Klausa dalam Pertanyaan
Semasa mengarang pertanyaan MySQL yang termasuk klausa EXCEPT, anda mungkin menghadapi ralat, khususnya " Anda mempunyai ralat dalam sintaks SQL anda." Ralat ini timbul kerana MySQL tidak menyokong sintaks KECUALI secara asli.
Untuk mengatasi had ini, pertimbangkan untuk menggunakan pendekatan alternatif. Satu kaedah ialah menggunakan operator NOT IN:
SELECT s.sno FROM students s WHERE s.sno NOT IN ( SELECT t.sno FROM take t WHERE t.cno = 'CS112' );
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'
Pertanyaan alternatif ini mencapai hasil yang sama: mendapatkan semula nilai sno daripada jadual pelajar yang tidak terdapat dalam jadual ambil dengan cno sama dengan 'CS112'.
Atas ialah kandungan terperinci Bagaimana untuk Mengatasi Kekurangan MySQL Kecuali Fungsi Klausa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!