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 :
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='恐慌') )
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 = '恐慌');
Alternative MySQL utilisant WHERE ... IN :
SELECT DISTINCT * FROM emovis_reporting WHERE (id = 3) AND (cut_name IN ('全プロセス', '恐慌'));
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!