Formation PUB200 : MySQL, 2018 Opérations ensemblistes

12.3 Intersection : IN


L'intersection permet de ne sortir que les données communes aux 2 requêtes.

Dans l'exemple suivant, nous allons lister toutes les personnes qui sont à la fois client et mécanicien.

Schématiquement, l'intersection représente ce qui est commun entre le cercle rouge (première requête) et le cercle bleu (deuxième requête). Dans notre exemple, le cercle rouge représente les clients et le cercle bleu, les mécaniciens. Nous voulons les personnes qui sont à la fois client et mécanicien.

intersection

Ex : Pour trouver les personnes qui font partie des deux tables :

MySQL

SELECT prenom, nomfamille FROM clients

INTERSECT

SELECT prenom, nomfamille FROM mecaniciens;

Attention : comme pour le MINUS, INTERSECT n'est pas encore supporté par MySQL.

Faire un INTERSECT en MySQL

L'utilisation de la clause IN combinée à une sous-requête permet de simuler une intersection.

Ex :

MySQL

SELECT prenom, nomfamille

FROM clients WHERE CONCAT(prenom, nomfamille) IN

(

   SELECT CONCAT(prenom, nomfamille) FROM mecaniciens

);

▼Publicité

Veuillez noter que le contenu de cette fiche vous est partagé à titre gracieux, au meilleur de mes connaissances et sans aucune garantie.
Merci de partager !
Soumettre