Partager via


Opérations de jointure

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 l'infrastructure LINQ sont Join``4 et GroupJoin``4. Ces méthodes effectuent des équijointures ou des jointures qui associent deux sources de données en fonction de l'égalité de leurs clés. (À titre de comparaison, Transact-SQL prend en charge d'autres opérateurs de jointure que « égal », par exemple, l'opérateur « inférieur à »). Dans la terminologie de base de données relationnelle Join``4 implémente une jointure interne, un type de jointure dans lequel seuls les objets qui ont une correspondance dans l'autre jeu de données sont retournés. La méthode GroupJoin``4 n'a aucun équivalent direct dans la terminologie de base de données relationnelle. Toutefois, 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 première source de données (gauche), même s'il n'a aucun élément corrélé 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.

Deux cercles se chevauchant montrant l'interne/externe.

Méthodes

Nom de la méthode

Description

Syntaxe d'expression de requête C#

Syntaxe d'expression de requête Visual Basic

Informations supplémentaires

Join

Joint deux séquences selon les fonctions de sélection de clé et extrait des paires de valeurs.

join … in … on … equals …

From x In …, y In … Where x.a = y.a

ou

Join … [As …]In … On …

Enumerable.Join``4

Queryable.Join``4

GroupJoin

Joint deux séquences selon les fonctions de sélection de clé et regroupe les résultats correspondants pour chaque élément.

join … in … on … equals … into …

Group Join … In … On …

Enumerable.GroupJoin``4

Queryable.GroupJoin``4

Voir aussi

Tâches

Formuler des jointures et des requêtes de produit croisé

Comment : effectuer des opérations de jointure à l'aide de clés composites (Guide de programmation C#)

Comment : joindre du contenu issu de différents fichiers (LINQ)

Comment : classer les résultats d'une clause Join (Guide de programmation C#)

Comment : effectuer des opérations de jointure personnalisées (Guide de programmation C#)

Comment : effectuer des jointures groupées (Guide de programmation C#)

Comment : effectuer des jointures internes (Guide de programmation C#)

Comment : effectuer des jointures externes gauches (Guide de programmation C#)

Comment : remplir des collections d'objets issues de plusieurs sources (LINQ)

Référence

System.Linq

Types anonymes (Guide de programmation C#)

join, clause (Référence C#)

Join, clause (Visual Basic)

Concepts

Vue d'ensemble des opérateurs de requête standard

Types anonymes (Visual Basic)