首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

请教这两个语句有区别吗

2012-02-11 
请问这两个语句有区别吗selecta.col1fromaleftjoinbona.idb.idwhereb.date 2007-1-1selecta.col1fromale

请问这两个语句有区别吗
select   a.col1   from   a
left   join   b   on   a.id=b.id
where   b.date= '2007-1-1 '


select   a.col1   from   a
left   join   b   on   a.id=b.id  
and   b.date= '2007-1-1 '

如果没有区别,执行效率上那个更好啊
谢谢

[解决办法]
Create Table A
(IDInt)
Create Table B
(IDInt,
DateVarchar(10))
GO
Insert A Select 1
Union All Select 2
Union All Select 3

Insert B Select 1, '2007-1-1 '
Union All Select 2, '2007-1-1 '
Union All Select 3, '2007-1-2 '
GO
select a.id from a
left join b on a.id=b.id
where b.date= '2007-1-1 '


select a.id from a
left join b on a.id=b.id
and b.date= '2007-1-1 '

GO
Drop Table A, B
--Result
/*
id
1
2

id
1
2
3
*/

热点排行
Bad Request.