sql表链接顺序

时间:2014-09-02 16:00:28

标签: sql sql-server join

SQL join一般概念:

我有2张桌子 工作人员1000行, StaffUnitAllocation链接到员工的10行

在查询中链接的顺序中,性能/良好实践是否存在差异:

select s.FullName from staff s 
join StaffUnitAllocation sa on sa.StaffUsername = s.Username
where sa.UnitID = '3'

select s.FullName from StaffUnitAllocation sa
join staff s on sa.StaffUsername = s.Username
where sa.UnitID = '3'

两者都给出相同的结果

1 个答案:

答案 0 :(得分:1)

性能有差异吗?

不,SQL是一种声明性语言,因此基于查询本身的执行计划并不多。它取决于各种因素,首先是DBMS的内部工作原理,在本例中是sql-server。

良好做法有区别吗?

可读性是最困难的,也是编写SQL查询时最重要的事情之一。遵循良好的代码约定对此有很大帮助。对于这种特殊情况,一个好的做法是从选择了大多数列的表开始。