询问:用inner join关键字 和 用Where 里写等号,有多大不同?

kiko_l 2002-11-25 04:48:09
select * from tb1 INNER JOIN tb2 ON tb1.id = tb2.id

select * from tb1,tb2 where tb1.id = tb2.id
...全文
124 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hmily1688 2002-11-26
  • 打赏
  • 举报
回复
你试着在sql server的企业管理器中用哪种where 的写法执行一下,他会自动转化成inner join,可见是没有区别的.
N_chow 2002-11-26
  • 打赏
  • 举报
回复
INNER JOIN 是ANSI JOIN SQL的寫法,這種寫法在SQL Server 6.5版就有使用,而在WHERE條件里指定JOIN條件的是SQL-92的語法。

ANSI JOIN語法是以 ANSI SQL-92為基礎加以發展出來的,這兩種JOIN最主要的差別在於:
1) ANSI JOIN有用到JOIN關鍵字
2) ANSI JOIN把JOIN的條件和其它的搜索條件分開來。

這兩種JOIN寫法在執行效率上并沒有差異,其內部運作額是一樣的。
baresi 2002-11-25
  • 打赏
  • 举报
回复
关注
webcat 2002-11-25
  • 打赏
  • 举报
回复
没有区别
kiko_l 2002-11-25
  • 打赏
  • 举报
回复
要是3个表呢?
select * from tb1 INNER JOIN tb2 ON tb1.id = tb2.id INNER JOIN tb3 ON tb1.id = tb3.id

select * from tb1,tb2,tb3 where tb1.id = tb2.id And tb1.id = tb3.id

真的没区别呀?
CrazyFor 2002-11-25
  • 打赏
  • 举报
回复
反正结果是一样的。
蓝天 2002-11-25
  • 打赏
  • 举报
回复
我认为相同

34,594

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧