Heim > Datenbank > MySQL-Tutorial > Wie kann ich die Funktionalität des INTERSECT-Operators von SQL Server in MySQL erreichen?

Wie kann ich die Funktionalität des INTERSECT-Operators von SQL Server in MySQL erreichen?

Barbara Streisand
Freigeben: 2024-12-11 18:42:15
Original
490 Leute haben es durchsucht

How Can I Achieve the Functionality of SQL Server's INTERSECT Operator in MySQL?

Eine Alternative zu Intersect in MySQL finden

Mit dem INTERSECT-Operator von Microsoft SQL Server können unterschiedliche Werte abgerufen werden, die in zwei Datensätzen gemeinsam vorhanden sind. Leider bietet MySQL kein direktes Äquivalent.

SQL Server-Syntax:

INTERSECT
SELECT value FROM dataset1
SELECT value FROM dataset2
Nach dem Login kopieren

MySQL-Alternativen:

Stattdessen bietet MySQL alternative Methoden an, um ähnliche Ergebnisse zu erzielen:

Methode 1: INNER JOIN mit Distinct

Dieser Ansatz verwendet einen INNER JOIN zwischen den beiden Datensätzen und wendet das Schlüsselwort DISTINCT an, um Duplikate zu vermeiden:

SELECT DISTINCT value
FROM dataset1
INNER JOIN dataset2
USING (value);
Nach dem Login kopieren

Methode 2: Unterabfrage mit IN

Eine andere Möglichkeit besteht darin, eine Unterabfrage mit IN zu verwenden, um die Übereinstimmung zu prüfen Werte:

SELECT value
FROM dataset1
WHERE value IN
(SELECT value FROM dataset2);
Nach dem Login kopieren

Beispiel:

Betrachten Sie die folgenden MySQL-Tabellen:

CREATE TABLE table1 (id INT, value VARCHAR(255));
CREATE TABLE table2 (id INT, value VARCHAR(255));

INSERT INTO table1 VALUES (1, 'A'), (2, 'B'), (3, 'B');
INSERT INTO table2 VALUES (1, 'B');

-- Method 1
SELECT DISTINCT value
FROM table1
INNER JOIN table2
USING (value);

-- Method 2
SELECT value
FROM table1
WHERE value IN
(SELECT value FROM table2);
Nach dem Login kopieren

Beide Methoden geben das folgende Ergebnis zurück:

+-------+
| value |
+-------+
| B     |
+-------+
Nach dem Login kopieren

Wenn Sie mit nicht eindeutigen Daten arbeiten, verwenden Sie das Schlüsselwort DISTINCT in Methode 1 oder die Verwendung von DISTINCT in Die Unterabfrage in Methode 2 stellt sicher, dass nur eindeutige Werte zurückgegeben werden.

Das obige ist der detaillierte Inhalt vonWie kann ich die Funktionalität des INTERSECT-Operators von SQL Server in MySQL erreichen?. 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