50分求sql语句的差别

zhuxiaojun2002 2004-12-21 03:53:01
货物表a
id class_id name
类别表b
id name
属性表c
id class_id name
每个类别都关联自定义属性。请问

select a.name,b.name,c.name
FROM a INNER JOIN
b ON a.class_id= b.id INNER JOIN
c ON a.class_id = c.class_id

select a.name,b.name,c.name
FROM a INNER JOIN
b ON a.class_id= b.id INNER JOIN
c ON b.id = c.class_id
这两种有区别吗?
还有from后的表,我可以用另外两个表中的一个吗?真的很迷茫,恳请大家详细点,感觉好象没差别啊
如果几个表的嵌套查询,from后的表和join表的选择有什么技巧啊。

恳请大家详细点!谢了
...全文
142 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhuxiaojun2002 2004-12-22
  • 打赏
  • 举报
回复
兄弟们能不能多补充点啊!拜托了
zhuxiaojun2002 2004-12-22
  • 打赏
  • 举报
回复
ok,买单了
vinsonshen 2004-12-21
  • 打赏
  • 举报
回复
产品表作 联接的左端,另外两表都作右端,并且对a表作好id和class_id索引,另外两表对应字段也作好索引
zhuxiaojun2002 2004-12-21
  • 打赏
  • 举报
回复
to wutao411(了缘)
具体怎么说呢?当然是产品表了,产品表的数据量最大。你说那种好啊!
了缘 2004-12-21
  • 打赏
  • 举报
回复
具体用哪个,要看你数据库各个表的数据量,
了缘 2004-12-21
  • 打赏
  • 举报
回复
结果相同,但是查询的路径不同,与效率有关,如果数据库比较大的话,两个的效率就可以明显看出来了
Overriding 2004-12-21
  • 打赏
  • 举报
回复
得到的结果应该是一样的,这样的语句你完全可以用多条件查询代替。
select a.name,b.name,c.name
FROM a ,b,c where a.class_id= b.id and a.class_id = c.class_id

yjzhg 2004-12-21
  • 打赏
  • 举报
回复
用企业管理器建立视图,会清楚区别

27,582

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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