Heim > Datenbank > MySQL-Tutorial > Wie behebe ich den EXCEPT-Syntaxfehler von MySQL und finde Alternativen?

Wie behebe ich den EXCEPT-Syntaxfehler von MySQL und finde Alternativen?

Linda Hamilton
Freigeben: 2024-12-31 08:24:13
Original
672 Leute haben es durchsucht

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

MySQL EXCEPT-Syntaxfehler: Lösung und Alternativen

Der Fehler, der beim Versuch, die Abfrage mit dem EXCEPT-Operator in MySQL auszuführen, aufgetreten ist, entsteht durch Es liegt an der mangelnden Unterstützung dieser Syntax.

Um dieses Problem zu lösen, sollten Sie alternative Ansätze wie NOT IN oder LEFT in Betracht ziehen JOIN:

SELECT s.sno 
FROM students s
WHERE s.sno NOT IN 
(
    SELECT t.sno 
    FROM take t 
    WHERE t.cno = 'CS112'
);
Nach dem Login kopieren

Alternativ können Sie einen LEFT JOIN verwenden:

SELECT s.sno 
FROM students s
    LEFT JOIN take t ON s.sno = t.sno
WHERE IFNULL(t.cno, '') != 'CS112'
Nach dem Login kopieren

Demonstration mit temporären Tabellen:

Zur Veranschaulichung der Wirksamkeit Lassen Sie uns für diese Alternativen temporäre Tabellen mit Beispieldaten erstellen:

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'
Nach dem Login kopieren

Diese Abfrage sollte den Schüler zurückgeben Zahlen 5 bis 10.

Das obige ist der detaillierte Inhalt vonWie behebe ich den EXCEPT-Syntaxfehler von MySQL und finde Alternativen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage