今回は、左外部結合です。 Linqでは外部結合もサポートされていますが、いわゆる左外部結合(LEFT OUTER JOIN)のみが行えます。 SQLでいうRIGHT OUTER JOINやFULL OUTER JOINはサポートされていません。 やり方なのですが、以下の手順を踏みます。 まずグループ化結合を行います。 グループ化結合を行ったものを再度fromキーワードでループ この際にDefaultIfEmptyメソッドを利用してデータが存在しないものを含めるようにします。 最後にselectキーワードで結果がDefault値のものを適切な値に変換します。 たとえば、以下のようなデータが存在するとします。 // メンバー IEnumerable<Person> persons = new[]{ new Person { Id = "001" ,Name = "gsf_zero1" ,Age