MySQL-Äquivalente von PostgreSQL INTERSECT
In MySQL wird der INTERSECT-Operator nicht unterstützt. Es gibt jedoch mehrere alternative Ansätze, um ähnliche Ergebnisse zu erzielen.
Wenn Sie beispielsweise in mehreren Feldern nach Datensätzen suchen, die bestimmte Kriterien erfüllen, kann ein innerer Join verwendet werden. Die folgende Abfrage filtert nach Zeilen in der Tabelle „records“, die übereinstimmende Zeilen in der Tabelle „data“ haben, wobei „john“ und „smith“ den Werten für die Felder „firstname“ bzw. „lastname“ entsprechen:
SELECT DISTINCT records.id FROM records INNER JOIN data d1 ON d1.id = records.firstname AND d1.value = "john" INNER JOIN data d2 ON d2.id = records.lastname AND d2.value = "smith"
Eine weitere Alternative ist die IN-Klausel:
SELECT DISTINCT records.id FROM records WHERE records.firstname IN ( SELECT id FROM data WHERE value = 'john' ) AND records.lastname IN ( SELECT id FROM data WHERE value = 'smith' )
Das obige ist der detaillierte Inhalt vonWie kann ich die INTERSECT-Funktionalität von PostgreSQL in MySQL replizieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!