sqlserverleftjoin查询数据第⼀条_数据库查询join的知识总结作者: topEngineerray
来源:CSDN
在sql当中,有下⾯这些join类型:
(INNER)JOIN:返回两个表中具有匹配值的记录
LEFT(OUTER)JOIN:返回左侧表中的所有记录,以及右侧表中的匹配记录
RIGHT (OUTER) JOIN:从右表返回所有记录,并从左表返回匹配的记录
FULL(OUTER)JOIN:当左表或右表中存在匹配项时,返回所有记录
分别如下图所⽰:
Inner join
INNER JOIN和JOIN是⼀个意思。
INNER JOIN选择两个表中具有匹配值的记录:
⼀个INNER JOIN的例⼦如下:
SELECT column_name(s)FROM table1INNER JOIN lumn_name = lumn_name;
⽰例database如下:
以下是Orders表中的⼀些数据:
下⾯是Customers表中的⼀些数据:
以下SQL语句选择所有包含客户信息的订单:
SELECT Orders.OrderID, Customers.CustomerNameFROM OrdersINNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID;该查询的查询结果为
再来看另⼀个例⼦,假设我们现在有如下的database:
Persons表如下:
sql left join 多表连接Orders表如下:
我们希望查出所有⼈的订单,使⽤inner join查询如下:
则其查询结果为:
INNER JOIN 关键字在表中存在⾄少⼀个匹配时返回⾏。如果 "Persons" 中的⾏在 "Orders" 中没有匹配,就不会列出这些⾏。LEFT JOIN
LEFT JOIN关键字从左表(表1)返回所有记录,并从右表(表2)返回匹配的记录。 如果不匹配,则右侧结果为NULL。
⽰例database如下:
下⾯是Customers表中的⼀些数据:
下⾯是Orders表中的数据:
下⾯是⼀个LEFT JOIN的例⼦:
上⾯的查询结果为:
LEFT JOIN 关键字会从左表 (Customers) 那⾥返回所有的⾏,即使在右表 (Orders) 中没有匹配的⾏。RIGHT JOIN
在某些数据库中, RIGHT JOIN 称为 RIGHT OUTER JOIN, RIGHT JOIN的写法如下:
⽰例database如下:
下⾯是orders表中的⼀些数据:
下⾯是Employees表中的⼀些数据:
⼀个right join的例⼦为:
上⾯查询的查询结果为:
RIGHT JOIN 关键字会从右表 (Employees) 那⾥返回所有的⾏,即使在左表 (orders) 中没有匹配的⾏FULL JOIN
full join的语法如下:
⽰例database如下:
下⾯是Customers表中的⼀些数据:
下⾯是Orders表中的⼀些数据:
使⽤full join查询的sql如下:
其查询结果为:
再来看另⼀个例⼦
Person表如下:
Orders表如下:
现有full join如下:
则其查询结果为:
FULL JOIN 关键字会从左表 (Persons) 和右表 (Orders) 那⾥返回所有的⾏。如果 "Persons" 中的⾏在表 "Orders" 中没有匹配,或者如果 "Orders" 中的⾏在表 "Persons" 中没有匹配,这些⾏同样会列出。
-----------------------------
最后,我⾃⼰是⼀名从事了多年开发的JAVA⽼程序员,辞职⽬前在做⾃⼰的java私⼈定制课程,今年年初我花了⼀个⽉整理了⼀份最适合2019年学习的java学习⼲货,可以送给每⼀位喜欢java的⼩伙伴,想要获取的可以关注我的头条号并在后台私信我:交流,即可免费获取。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论