关于left join (本文出处:http://www.cnblogs.com/aces/ )
2012-06-01 11:53
274 查看
declare @order table(ID int,Name varchar(20)) declare @Detail table(ID int,Price float) insert into @order(ID,Name) values(1,'aa'),(2,'bb'),(3,'cc') insert into @Detail(ID,Price) values(1,10.5),(2,12.3),(4,5.9) select * from @order select * from @Detail
如果运行一下:left join 的联合查询
select * from @order o left join @Detail d on o.ID=d.ID
运行下面的SQL
select * from @order o left join @Detail d on 1=1
Left join 只不过是left outer join 的缩写而已
关于cross join :笛卡尔积,就是得到多张表的乘积。
left join 与cross join 以及 inner join的结果会有什么区别
select * from @order o left join @Detail d on 1=1 select * from @order o inner join @Detail d on 1=1 select * from @order cross join @Detail
这里看以看出,这三种写法查询出的总行数是相同的,但是left join与inner join 及cross join执行的结果组合方式有差别,这说明他们匹配的规则是不相同的。
注意 在使用CROSS JOIN关键字交叉连接表时,因为生成的是两个表的笛卡尔积,因而不能使用ON关键字,只能在WHERE子句中定义搜索条件。
如果用两张表的nulll 列作为ON的条件会有什么结果呢?下面来看看吧:
declare @test table(ID int,description varchar(50)) declare @des table(ID int,Detail varchar(50)) insert into @test values(null,'aaaaaaaaa'),(null,'bbbbbbbbbbbb'),(null,'cccccccccc') insert into @des values(null,'111'),(null,'222222'),(null,'3333333') select * from @test select * from @des select * from @test t left join @des s on t.ID=s.ID select * from @test t inner join @des s on t.ID =s.ID
相关文章推荐
- 最全的常用正则表达式大全——包括校验数字、字符、一些特殊的需求等等 本文出处:http://www.cnblogs.com/zxin/archive/2013/01/26/2877765.html#2
- 关于Jquery中ajax方法data参数用法的总结http://www.cnblogs.com/tim190/archive/2010/10/20/1856523.html
- 神经网络学习笔记_1(BP网络分类双螺旋线) 作者:tornadomeet 出处:http://www.cnblogs.com/tornadomeet
- 复制文章时自动在文章末尾加上来源网址的代码本文来自: http://www.cnblogs.com/wifi 详细来源请参考:http://www.cnblogs.com/wifi/archive/2012/04/24/2468097.html
- Linux文件管理 出处:http://www.cnblogs.com/vamei
- 关于运算符重载(总结) --http://www.cnblogs.com/xyl-share-happy/archive/2012/12/06/2804401.html
- 关于ResolveClientUrl和ResolveUrl的使用 问题 (http://www.cnblogs.com/borllor/archive/2008/02/25/1081037.html)
- 关于<验证码>的实现和执行流程 http://www.cnblogs.com/android-html5/archive/2012/05/19/2533650.html
- [导入]关于DataGrid等控件中的自动编号http://www.cnblogs.com/taye/archive/2004/07/08/22552.aspx
- SAP GUI FOR HTML登陆(作者:梦心)出处:http://www.cnblogs.com/mengxin523/)
- 关于android性能,内存优化 http://www.cnblogs.com/zyw-205520/archive/2013/02/17/2914190.html
- 关于render (转自http://www.cnblogs.com/sleeping/)
- 收集关于scrollTop信息 http://www.cnblogs.com/FrameWork/archive/2007/04/13/712750.html
- 一个讨论引发关于js中函数声明,函数表达式,形参与变量声明赋值引发的一些事(http://www.cnblogs.com/zhouyongtao/archive/2012/11/22/2783089)
- HMM学习笔记_1(从一个实例中学习DTW算法)出处:http://www.cnblogs.com/tornadomeet
- 关于字符串匹配算法研究 http://www.cnblogs.com/Su-30MKK/archive/2012/09/17/2688122.html
- Android开发之旅:组件生命周期(一)出处:http://www.cnblogs.com/skynet/
- Linux常用命令 出处:http://www.cnblogs.com/vamei
- 关于ado.net连接池的一些分享(原文出自:http://www.cnblogs.com/rickie/archive/2004/10/02/48546.aspx)
- Python快速教程 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! 怎么能快速地掌握Python?这是和朋友闲聊时谈起