Partage via


Opérations de jointure (Visual Basic)

Une jointure de deux sources de données est l’association des objets d’une source de données aux objets qui partagent un attribut commun dans une autre source de données.

La jointure est une opération importante dans les requêtes qui ciblent les sources de données dont les relations ne peuvent pas être suivies directement. En programmation orientée objet, cela peut correspondre à une corrélation entre objets qui n'est pas modélisée, par exemple la direction vers l'arrière dans une relation à sens unique. Voici un exemple de relation à sens unique : une classe Customer a une propriété de type City, alors que la classe City n'a aucune propriété correspondant à une collection d'objets Customer. Si vous avez une liste d'objets City et si vous souhaitez rechercher tous les clients de chaque ville, vous pouvez recourir à une opération de jointure.

Les méthodes de jointure fournies dans le framework LINQ sont Join et GroupJoin. Ces méthodes effectuent des équijointures, qui sont des jointures associant deux sources de données en fonction de l’égalité de leurs clés. (À titre de comparaison, Transact-SQL prend en charge les opérateurs de jointure autres que « égaux », par exemple l’opérateur « inférieur à »). En termes de base de données relationnelle, Join implémente une jointure interne, un type de jointure dans lequel seuls les objets ayant une correspondance dans l’autre jeu de données sont retournés. La méthode GroupJoin n’a aucun équivalent direct dans le contexte des bases de données relationnelles, mais elle implémente un sur-ensemble de jointures internes et de jointures externes gauches. Une jointure externe gauche est une jointure qui retourne chaque élément de la source de données (gauche), même si elle n’a pas d’éléments corrélés dans l’autre source de données.

L'illustration suivante présente une vue conceptuelle de deux ensembles, ainsi que leurs éléments inclus dans une jointure interne ou une jointure externe gauche.

Two overlapping circles showing inner/outer.

Méthodes

Nom de la méthode Description Syntaxe de l'expression de requête en Visual Basic Informations complémentaires
Join Joint deux séquences selon les fonctions de sélection de clé et extrait des paires de valeurs. From x In …, y In … Where x.a = y.a

-ou-

Join … [As …]In … On …
Enumerable.Join

Queryable.Join
GroupJoin Joint deux séquences selon les fonctions de sélection de clé et regroupe les résultats correspondants pour chaque élément. Group Join … In … On … Enumerable.GroupJoin

Queryable.GroupJoin

Voir aussi