彻底搞懂where,inner join,left join,right join,full join的区别

彻底搞懂where,inner join,left join,right join,full join的区别表 Persons 表 Orders 1 用 where 语句将两张表进行关联查询 SELECT FROM dbo Persons a dbo Orders b WHERE a Id b

大家好,欢迎来到IT知识分享网。

表Persons:

彻底搞懂where,inner join,left join,right join,full join的区别

表Orders:

彻底搞懂where,inner join,left join,right join,full join的区别

1.用where 语句将两张表进行关联查询

SELECT * FROM dbo.Persons a,dbo.Orders b WHERE a.Id=b.Pid

彻底搞懂where,inner join,left join,right join,full join的区别

where子句中连接两张表,在数据库语言中,被称为隐性连接,结果和INNER JOIN一样。

Note:where 连接叫隐性连接,而用join的连接,叫显性连接,sqlserver后期版本基本都采用显性连接。

2.inner join (内连接),两张表中都有数据才会匹配

SELECT * FROM dbo.Persons a INNER JOIN dbo.Orders b ON a.Id=b.Pid

彻底搞懂where,inner join,left join,right join,full join的区别

3.left join(左连接),理解为“有左显示”,比如on a.field=b.field,则显示a表中存在的全部数据及a,b中都有的数据,A表中有,B表中没有的数据以NULL显示:

SELECT * FROM dbo.Persons a LEFT JOIN dbo.Orders b ON a.Id=b.Pid

彻底搞懂where,inner join,left join,right join,full join的区别

4.right join(右连接) ,理解为“有右显示”,比如on a.field=b.field,则显示B表中存在的全部数据及a,b中都有的数据,B表中有、A表中没有的数据以NULL显示:

SELECT * FROM dbo.Persons a RIGHT JOIN dbo.Orders b ON a.Id=b.Pid

彻底搞懂where,inner join,left join,right join,full join的区别

5.full join:全连接,两张表中所有数据都显示:

SELECT * FROM dbo.Persons a FULL JOIN dbo.Orders b ON a.Id=b.Pid

彻底搞懂where,inner join,left join,right join,full join的区别

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/145446.html

(0)
上一篇 2025-04-20 16:15
下一篇 2025-04-20 16:20

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信