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

Comment puis-je répliquer la fonctionnalité INTERSECT de PostgreSQL dans MySQL ?

Linda Hamilton
Libérer: 2024-12-28 02:33:14
original
528 Les gens l'ont consulté

How Can I Replicate PostgreSQL's INTERSECT Functionality in MySQL?

Équivalents MySQL de PostgreSQL INTERSECT

Dans MySQL, l'opérateur INTERSECT n'est pas pris en charge. Cependant, il existe plusieurs approches alternatives pour obtenir des résultats similaires.

Par exemple, lors d'une recherche dans plusieurs champs d'enregistrements répondant à des critères spécifiques, une jointure interne peut être utilisée. La requête suivante filtre les lignes de la table « enregistrements » qui ont des lignes correspondantes dans la table « données », où « john » et « smith » correspondent respectivement aux valeurs des champs « prénom » et « nom » :

SELECT DISTINCT records.id
FROM records
INNER JOIN data d1 ON d1.id = records.firstname AND d1.value = "john"
INNER JOIN data d2 ON d2.id = records.lastname AND d2.value = "smith"
Copier après la connexion

Une autre alternative est la clause IN :

SELECT DISTINCT records.id
FROM records
WHERE records.firstname IN (
    SELECT id FROM data WHERE value = 'john'
)
AND records.lastname IN (
    SELECT id FROM data WHERE value = 'smith'
)
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!

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