189 8069 5689

innerjoin和leftjoin的区别-创新互联

inner join :

为类乌齐等地区用户提供了全套网页设计制作服务,及类乌齐网站建设行业解决方案。主营业务为成都做网站、成都网站制作、成都外贸网站建设、类乌齐网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

The INNER JOIN keyword selects all rows from both tables as long as there is a match between the columns in both tables.

left join :

The LEFT JOIN keyword returns all rows from the left table (table1), with the matching rows in the right table (table2). The result is NULL in the right side when there is no match.

以 sql server NorthWind 数据库为例 :   如果用  inner join

SELECT Customers.CompanyName, Orders.OrderID
FROM Customers
INNER JOIN Orders
ON Customers.CustomerID=Orders.CustomerID
ORDER BY Customers.CompanyName;

得到

Alfreds Futterkiste           10643
Alfreds Futterkiste           10692
Alfreds Futterkiste           10702
Alfreds Futterkiste           10835
Alfreds Futterkiste           10952
Alfreds Futterkiste           11011
Ana Trujillo Emparedados y helados   10308
Ana Trujillo Emparedados y helados   10625
Ana Trujillo Emparedados y helados   10759
Ana Trujillo Emparedados y helados   10926
Antonio Moreno Taquería         10365
Antonio Moreno Taquería         10507
Antonio Moreno Taquería         10535
Antonio Moreno Taquería         10573
Antonio Moreno Taquería         10677
Antonio Moreno Taquería         10682

............   共830 条记录 ,意思是查出所有  有销售记录的customer 及其 所有的orderID

如果用 left join

SELECT Customers.CompanyName, Orders.OrderID
FROM Customers
left JOIN Orders
ON Customers.CustomerID=Orders.CustomerID
ORDER BY Customers.CompanyName;

会得到    832 条记录 , 比 inner join 多2条是因为: 在customer表中, 有2个customer 并无销售order , 但因为是left join ,

这两个customer 也被包括在结果集之中。

left join 与 left outer join 无区别 , 是后者的简写 。


当前名称:innerjoin和leftjoin的区别-创新互联
转载来于:http://cdxtjz.cn/article/coiegd.html

其他资讯