linq 左连接和右连接的写法有啥区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linq 左连接和右连接的写法有啥区别相关的知识,希望对你有一定的参考价值。

参考技术A //左连接例子,右连接类似
public void Linq()

string[] categories = new string[]
"Beverages",
"Condiments",
"Vegetables",
"Dairy Products",
"Seafood" ;
List<Product> products = GetProductList();
var q =
from c in categories
join p in products on c equals p.Category into ps
from p in ps.DefaultIfEmpty()
select new Category = c, ProductName = p == null ? "(No products)" : p.ProductName ;

foreach (var v in q)

Console.WriteLine(v.ProductName + ": " + v.Category);

本回答被提问者采纳

sql语句左连接右连接区别

首先,左连接和右连接指的都是外连接

外连接的情况指一个表中有一个字段是另一个表的主键时

比如商品表里除了商品id还有一个分类id名为cid,这个cid就是商品分类表的主键,我们需要一起查询这两个表的内容,通过分类id把两个表联系起来就是外连接

至于左连接和右连接的区别在于写法上先写哪个表就称之为左,商品表中有的商品分类id(cid)为空,分类表中也有分类在商品中没有出现过时

如果是左连接,商品表中就算商品分类为空的商品也会被查出,而分类表中只出现在商品表中出现的分类

如果是右连接,则相反......

 

以上是关于linq 左连接和右连接的写法有啥区别的主要内容,如果未能解决你的问题,请参考以下文章

mysql中的左连接和右连接有啥区别[重复]

SQL中的左连接与右连接,内连接有啥区别

MySQL 的内连接、左连接、右连接有啥区别?

sql语句左连接右连接区别

左外连接与右外连接区别?

mysql左连接和右连接的区别