Maison > base de données > tutoriel mysql > Comment puis-je simuler l'opération INTERSECT dans MySQL ?

Comment puis-je simuler l'opération INTERSECT dans MySQL ?

Patricia Arquette
Libérer: 2024-12-13 18:44:11
original
917 Les gens l'ont consulté

How Can I Simulate the INTERSECT Operation in MySQL?

Approches alternatives à MySQL Intersect

La base de données MySQL ne dispose pas de l'opération INTERSECT, qui est une fonction unique utilisée pour identifier les valeurs trouvées dans les deux résultats ensembles. Néanmoins, il existe des méthodes alternatives pour obtenir des résultats similaires.

Méthode 1 : INNER JOIN avec DISTINCT

Pour émuler l'opération INTERSECT à l'aide d'un INNER JOIN, suivez ces étapes :

  • Créez l'INNER JOIN entre les deux tables en fonction des valeurs partagées que vous souhaitez pour comparer.
  • Utilisez le mot-clé DISTINCT pour supprimer les valeurs en double de l'ensemble de résultats.

Cette méthode garantit que seules les valeurs uniques présentes dans les deux tables sont renvoyées.

Méthode 2 : OÙ ... IN avec DISTINCT

Alternativement, vous pouvez utiliser un sous-requête dans la clause WHERE ... IN avec le mot-clé DISTINCT pour obtenir le même résultat :

  • Sélectionnez les valeurs DISTINCT d'une table et créez une sous-requête.
  • Utilisez l'opérateur IN pour comparer les valeurs de l'autre table avec la sous-requête, en garantissant que seules les valeurs correspondantes sont récupéré.

Exemple :

Supposons que vous ayez deux tables, table_a et table_b, avec les données suivantes :

table_a table_b
1, A 1, B
2, B
3, B

À recherchez les valeurs qui existent dans les deux tables en utilisant un INNER JOIN avec DISTINCT, vous pouvez exécuter ce qui suit requête :

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

De même, en utilisant WHERE ... IN avec DISTINCT :

SELECT DISTINCT value
FROM table_a
WHERE (value) IN (SELECT DISTINCT value FROM table_b);
Copier après la connexion

Ces deux requêtes renverront le résultat suivant :

value
B

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