欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Left Jion等价SQL猜想验证

程序员文章站 2024-01-26 22:18:52
验证结果: 写作时间:2017-11-8 本文只代表本人的见解,可能存在错误,仅用于技术交流。如果你喜欢该文,可以扫下面的二维码打赏我(打赏敬请备注“博客园打赏”五字)。 ......
猜想:以下两条sql等价
select * from a left join  b on a.id=b.bid and b.bname=n'小明'
select * from a left join (select * from b where b.bname=n'小明') b on a.id=b.bid
为了方便验证,新建两张表a和b,然后插入6条数据到a表,3条数据到b表。语句如下:

create table a(
    id int identity(1,1) not null,
    aname nvarchar(300) null
)
create table b(
    id int identity(1,1) not null,
    bid int  not null,
    bname nvarchar(300) null
)

insert into b(bname,bid) values(n'小明',2)
insert into b(bname,bid) values(n'小网',1)
insert into b(bname,bid) values(n'小刚',1)
insert into b(bname,bid) values(n'小蒋',1)
insert into b(bname,bid) values(n'小赵',1)
insert into b(bname,bid) values(n'小流',1)

insert into a(aname) values(n'一班')
insert into a(aname) values(n'二班')
insert into a(aname) values(n'三班')

验证结果:

Left Jion等价SQL猜想验证

 

写作时间:2017-11-8

=====================================================================================

本文只代表本人的见解,可能存在错误,仅用于技术交流。如果你喜欢该文,可以扫下面的二维码打赏我(打赏敬请备注“博客园打赏”五字)。

Left Jion等价SQL猜想验证