Maison > base de données > tutoriel mysql > Comment puis-je répliquer la fonctionnalité « INTERSECT » de MySQL ?

Comment puis-je répliquer la fonctionnalité « INTERSECT » de MySQL ?

Linda Hamilton
Libérer: 2024-12-22 12:58:36
original
897 Les gens l'ont consulté

How Can I Replicate MySQL's `INTERSECT` Functionality?

Recherche d'équivalents pour l'intersection de MySQL

En SQL, l'opérateur INTERSECT récupère des valeurs distinctes qui apparaissent dans les deux requêtes spécifiées. Cependant, MySQL ne supporte pas nativement INTERSECT.

Alternatives dans MySQL

Pour obtenir un résultat similaire dans MySQL, on peut utiliser :

  • INNER JOIN : Les valeurs par colonne correspondent entre les deux tables, mais les doublons seront renvoyé.
  • WHERE ... IN : Sélectionne des valeurs distinctes dans la première table qui existent également dans la deuxième table.

Exemple

Considérez la requête suivante dans un autre système de gestion de base de données qui utilise INTERSECT :

(select * from emovis_reporting where (id=3 and cut_name= '全プロセス' and cut_name='恐慌') ) 
intersect
( select * from emovis_reporting where (id=3) and ( cut_name='全プロセス' or cut_name='恐慌') )
Copier après la connexion

Alternative MySQL utilisant INNER JOIN :

SELECT DISTINCT * 
FROM emovis_reporting e1
INNER JOIN emovis_reporting e2 
ON (e1.id = e2.id) AND (e1.cut_name = e2.cut_name)
WHERE e1.id = 3 AND (e1.cut_name = '全プロセス' OR e1.cut_name = '恐慌');
Copier après la connexion

Alternative MySQL utilisant WHERE ... IN :

SELECT DISTINCT * 
FROM emovis_reporting
WHERE (id = 3) AND (cut_name IN ('全プロセス', '恐慌'));
Copier après la connexion

Ces alternatives MySQL renvoient des valeurs distinctes qui satisfont aux conditions spécifiées dans les deux sous-requêtes. Cependant, il est important de noter que la colonne id est impliquée dans cette requête spécifique, ce qui empêchera le renvoi de doublons. Pour les requêtes sans identifiants uniques, l'utilisation de DISTINCT dans la requête externe peut être nécessaire pour garantir des résultats uniques.

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!

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