MySQL unterstützt den MINUS-Operator nicht, Sie können ihn jedoch mit MySQL JOIN simulieren. Das Syntaxformat lautet „SELECT field list FROM table 1 LEFT JOIN table 2 ON join_predicate WHERE table 2.id IS NULL;“.
(Empfohlenes Tutorial: MySQL-Video-Tutorial)
Einführung in den SQL-MINUS-Operator
MINUS enthält eine der drei Operationen des SQL-Standards, UNION, INTERSECT und MINUS.
MINUS vergleicht die Ergebnisse zweier Abfragen und gibt unterschiedliche Zeilen aus der ersten Abfrage zurück, die von der zweiten Abfrage nicht ausgegeben werden. Der Befehl
MINUS wird für zwei SQL-Anweisungen verwendet. Zunächst werden die von der ersten SQL-Anweisung erzeugten Ergebnisse ermittelt und dann überprüft, ob diese Ergebnisse zu den Ergebnissen der zweiten SQL-Anweisung gehören. Wenn dies der Fall ist, werden diese Daten entfernt und erscheinen nicht im Endergebnis. Wenn das Ergebnis der zweiten SQL-Anweisung nicht im Ergebnis der ersten SQL-Anweisung vorhanden ist, werden die Daten verworfen.
Die Syntax des MINUS-Operators wird im Folgenden erklärt:
SELECT column_list_1 FROM table_1 MINUS SELECT columns_list_2 FROM table_2;
Die Grundregeln für Abfragen mit dem MINUS-Operator lauten wie folgt:
Die Menge und die Reihenfolge der beiden Spalten column_list_1
和column_list_2
müssen gleich sein.
Die Datentypen der entsprechenden Spalten in den beiden Abfragen müssen kompatibel sein.
Angenommen, wir haben zwei Tabellen t1 und t2 mit der folgenden Struktur und den folgenden Daten:
CREATE TABLE t1 ( id INT PRIMARY KEY ); CREATE TABLE t2 ( id INT PRIMARY KEY ); INSERT INTO t1 VALUES (1),(2),(3); INSERT INTO t2 VALUES (2),(3),(4);
Die folgende Abfrage gibt in der Abfrage für Tabelle t1 unterschiedliche Werte zurück, die in den Abfrageergebnissen für Tabelle t2 nicht gefunden werden.
SELECT id FROM t1 MINUS SELECT id FROM t2;
Hier sind die Anweisungen für das MINUS-Diagramm:
MySQL-MINUS-Operator
Leider unterstützt MySQL den MINUS-Operator nicht. Sie können es jedoch mit MySQL JOIN simulieren.
Um zwei MINUS-Abfragen zu simulieren, verwenden Sie die folgende Syntax:
SELECT column_list FROM table_1 LEFT JOIN table_2 ON join_predicate WHERE table_2.id IS NULL;
Die folgende Abfrage verwendet beispielsweise die LEFT JOIN-Klausel, um dieselben Ergebnisse wie der MINUS-Operator zurückzugeben:
SELECT id FROM t1 LEFT JOIN t2 USING (id) WHERE t2.id IS NULL;
Das obige ist der detaillierte Inhalt vonWie verwende ich den Minus-Operator in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!