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

Comment répliquer les fonctionnalités de l'opérateur INTERSECT dans MySQL ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-28 06:24:15544parcourir

How to Replicate the INTERSECT Operator's Functionality in MySQL?

Alternatives à l'opérateur Intersect dans MySQL

L'opérateur INTERSECT, trouvé dans Microsoft SQL Server, renvoie des valeurs en double qui apparaissent dans les deux résultats de requête . MySQL ne dispose pas de cet opérateur, ce qui nécessite une approche alternative.

Alternatives MySQL

Pour obtenir les mêmes fonctionnalités qu'INTERSECT dans MySQL, envisagez d'utiliser :

  • INNER JOIN avec DISTINCT : Sélectionne des valeurs distinctes à partir d'une jointure des deux tables.
SELECT DISTINCT value FROM table_a
INNER JOIN table_b
USING (value);
  • OÙ ... DANS avec DISTINCT : Filtre les enregistrements de la première table par valeurs présentes dans la deuxième table.
SELECT DISTINCT value FROM table_a
WHERE (value) IN (SELECT value FROM table_b);

Exemple de requête

Considérez ce qui suit requête :

(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='恐慌') )

Alternative MySQL utilisant INNER JOIN avec DISTINCT :

SELECT DISTINCT * FROM emovis_reporting
INNER JOIN (SELECT * FROM emovis_reporting WHERE ID=3 AND cut_name='全プロセス') AS t1
ON cut_name='恐慌';

Alternative MySQL utilisant WHERE ... IN avec DISTINCT :

SELECT DISTINCT * FROM emovis_reporting
WHERE (id, cut_name) IN (
  SELECT id, cut_name FROM emovis_reporting
  WHERE>

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:
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