求教两种写法的区别和优缺点

穆云寒江 2013-04-17 12:26:45
/*** 使用 INNER JOIN ***/
SELECT Production.Product.ProductID
,Production.Product.Name AS Product
,Production.Product.Color
,Production.Product.StandardCost
,Production.Product.ListPrice
,Production.ProductModel.ProductModelId
,Production.ProductModel.Name AS Model
FROM Production.Product
INNER JOIN Production.ProductModel
ON Production.Product.ProductModelID = Production.ProductModel.ProductModelID
/*** 另一种写法 ***/
SELECT Production.Product.ProductID
,Production.Product.Name AS Product
,Production.Product.Color
,Production.Product.StandardCost
,Production.Product.ListPrice
,Production.ProductModel.ProductModelId
,Production.ProductModel.Name AS Model
FROM Production.Product,Production.ProductModel
WHERE Production.Product.ProductModelID = Production.ProductModel.ProductModelID
查询结果一样,好像效率也差不多。但肯定有不同,肯求大虾,DBA前辈指教。
...全文
188 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
---涛声依旧--- 2013-04-20
  • 打赏
  • 举报
回复
两种写法的效率应该一样,我习惯用第一种写法
發糞塗牆 2013-04-18
  • 打赏
  • 举报
回复
引用 7 楼 nciae_zhuying 的回复:
引用 1 楼 OrchidCat 的回复: Ctrl + L 直接看执行计划,就知道了 SQL 2008 我不清楚,但是 SQL 2005 的执行快捷键是 Ctrl + x
快捷键可以改的,你也可以直接点那个图标
穆云寒江 2013-04-18
  • 打赏
  • 举报
回复
引用 1 楼 OrchidCat 的回复:
Ctrl + L 直接看执行计划,就知道了
SQL 2008 我不清楚,但是 SQL 2005 的执行快捷键是 Ctrl + x
發糞塗牆 2013-04-17
  • 打赏
  • 举报
回复
两个写法是一样的,只是上面一种是新标准而已,inner join 与下面那个无异,但是outer join 的时候就不能用下面那种写法
Mr_Nice 2013-04-17
  • 打赏
  • 举报
回复
Ctrl + L 直接看执行计划,就知道了
饮水需思源 2013-04-17
  • 打赏
  • 举报
回复
不好意思,看错了 应该是sql2008不支持*=及=*的写法了
發糞塗牆 2013-04-17
  • 打赏
  • 举报
回复
引用 3 楼 Leftie 的回复:
sql2008好像不支持第二种写法了吧
支持的

专注or全面 2013-04-17
  • 打赏
  • 举报
回复
引用 3 楼 Leftie 的回复:
sql2008好像不支持第二种写法了吧
怎么了可能不支持? 金蝶面试过这个问题
饮水需思源 2013-04-17
  • 打赏
  • 举报
回复
sql2008好像不支持第二种写法了吧

34,576

社区成员

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

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