Maison > base de données > tutoriel mysql > Comment répliquer la fonctionnalité de l'opérateur INTERSECT de MySQL ?

Comment répliquer la fonctionnalité de l'opérateur INTERSECT de MySQL ?

DDD
Libérer: 2024-12-25 09:07:32
original
830 Les gens l'ont consulté

How to Replicate MySQL's INTERSECT Operator Functionality?

Équivalents à l'opérateur INTERSECT de MySQL

L'opérateur SQL INTERSECT est utilisé pour identifier et renvoyer les valeurs correspondantes qui apparaissent dans les deux sections de la requête . Cependant, cet opérateur n'est pas supporté nativement dans MySQL.

Approches alternatives

Pour obtenir la fonctionnalité de l'opérateur INTERSECT dans MySQL, plusieurs méthodes alternatives peuvent être utilisées :

  • INNER JOIN Utilisation DISTINCT :
SELECT DISTINCT table_a.column
FROM table_a
INNER JOIN table_b ON table_a.column = table_b.column;
Copier après la connexion
  • OÙ... DANS et DISTINCT :
SELECT DISTINCT table_a.column
FROM table_a
WHERE table_a.column IN (SELECT table_b.column FROM table_b);
Copier après la connexion

Exemple

Considérez la requête suivante en utilisant INTERSECT opérateur :

(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

Cette requête récupère les enregistrements de la table 'emovis_reporting' où l'identifiant est 3 et le cut_name est à la fois '全プロセス' et '恐慌'.

MySQL Equivalents

À implémentez cette requête dans MySQL en utilisant la méthode INNER JOIN :

SELECT DISTINCT *
FROM emovis_reporting AS a
INNER JOIN emovis_reporting AS b ON a.id = b.id
WHERE a.id = 3
  AND a.cut_name = '全プロセス'
  AND b.cut_name = '恐慌';
Copier après la connexion

En utilisant la méthode WHERE ... IN et DISTINCT :

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

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal