Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mengecualikan Baris dalam Pertanyaan MySQL Tanpa KECUALI?

Bagaimana untuk Mengecualikan Baris dalam Pertanyaan MySQL Tanpa KECUALI?

Patricia Arquette
Lepaskan: 2025-01-01 12:05:10
asal
847 orang telah melayarinya

How to Exclude Rows in MySQL Queries Without EXCEPT?

KECUALI Ralat Sintaks dalam Pertanyaan SQL

Dalam MySQL, menggunakan sintaks EXCEPT untuk mengecualikan baris daripada pertanyaan boleh mengakibatkan ralat sintaks. Ini kerana MySQL tidak menyokong kata kunci KECUALI secara asli.

Penyelesaian Alternatif

Untuk mencapai fungsi pengecualian yang diingini, anda boleh menggunakan sama ada klausa NOT IN atau a TINGGALKAN SERTAI dengan syarat IFNULL:

TIDAK MASUK Klausa:

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

KIRI SERTAI dengan IFNULL:

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

Contoh

Pertimbangkan perkara berikut sampel data:

create temporary table students (sno int);

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

create temporary table take (sno int, cno varchar(50));

insert into take values (1, 'CS112');
insert into take values (2, 'CS112');
insert into take values (3, 'CS112');
insert into take values (4, 'CS112');
Salin selepas log masuk

Menggunakan sama ada klausa NOT IN atau LEFT JOIN dengan IFNULL akan mengembalikan keputusan berikut:

+------+
| sno  |
+------+
|    5 |
|    6 |
|    7 |
|    8 |
|    9 |
|   10 |
+------+
Salin selepas log masuk

Kaedah alternatif ini berkesan mengecualikan pelajar yang telah mengikuti kursus CS112, menghasilkan senarai pelajar yang belum mengikuti kursus tersebut.

Atas ialah kandungan terperinci Bagaimana untuk Mengecualikan Baris dalam Pertanyaan MySQL Tanpa KECUALI?. 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