Maison > base de données > tutoriel mysql > Comment puis-je obtenir les fonctionnalités de l'opérateur INTERSECT de SQL Server dans MySQL ?

Comment puis-je obtenir les fonctionnalités de l'opérateur INTERSECT de SQL Server dans MySQL ?

Barbara Streisand
Libérer: 2024-12-11 18:42:15
original
491 Les gens l'ont consulté

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

Trouver une alternative à l'intersection dans MySQL

L'opérateur INTERSECT de Microsoft SQL Server permet de récupérer des valeurs distinctes qui existent en commun entre deux ensembles de données. Malheureusement, MySQL ne fournit pas d'équivalent direct.

Syntaxe SQL Server :

INTERSECT
SELECT value FROM dataset1
SELECT value FROM dataset2
Copier après la connexion

Alternatives MySQL :

Au lieu de cela, MySQL propose des méthodes alternatives pour obtenir des résultats similaires :

Méthode 1 : INNER JOIN avec Distinct

Cette approche utilise un INNER JOIN entre les deux ensembles de données et applique le mot-clé DISTINCT pour éviter les doublons :

SELECT DISTINCT value
FROM dataset1
INNER JOIN dataset2
USING (value);
Copier après la connexion

Méthode 2 : Sous-requête avec IN

Une autre option consiste à utiliser une sous-requête avec IN pour vérifier la correspondance valeurs :

SELECT value
FROM dataset1
WHERE value IN
(SELECT value FROM dataset2);
Copier après la connexion

Exemple :

Considérez les tables MySQL suivantes :

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);
Copier après la connexion

Les deux méthodes renverront le résultat suivant :

+-------+
| value |
+-------+
| B     |
+-------+
Copier après la connexion

Lorsque vous travaillez avec des données non uniques, le mot-clé DISTINCT dans la méthode 1 ou l'utilisation de DISTINCT dans la sous-requête de la méthode 2 garantit que seules les valeurs uniques sont renvoyées.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal