Proper way to write a SQL syntax?
这两个
第一:
1 2 | SELECT c.Id,c.Name,s.Id,s.Name,s.ClassId FROM dbo.ClassSet c,dbo.StudentSet s WHERE c.Id=s.ClassId |
第二:
1 2 | SELECT c.Id,c.Name,s.Id,s.Name,s.ClassId FROM dbo.ClassSet c JOIN dbo.StudentSet s ON c.Id=s.ClassId |
号
第二个比较好。
您加入第一个查询的方式被认为已过时。避免使用
"在优先权方面,join的
"使用,表示法类似于处理
在这里找到了它的详细信息,mysql-select,join
阅读有关SQL标准的更多信息
http://en.wikipedia.org/wiki/sql-92
1 | SELECT c.Id,c.Name,s.Id,s.Name,s.ClassId FROM dbo.ClassSet c JOIN dbo.StudentSet s ON c.Id=s.ClassId |
毫无疑问,与你的第一个相比,上面的一个更好。在优先表中,"on"排在第二位,"where"排在第四位。
但是对于像这样简单的查询,您不想像这样打断您的头,对于项目级的"join"总是被推荐的。
检查此链接是否是一个比在哪里更快的连接?
回答:@mehrdadafafshari
Theoretically, no, it shouldn't be any faster. The query optimizer
should be able to generate an identical execution plan. However, some
DB engines can produce better execution plans for one of them (not
likely to happen for such a simple query but for complex enough ones).
You should test both and see (on your DB engine).
号
第二个是因为它更可读。就这些。