我偶然发现了在 SQL Server 2005 数据库上创建的 T-SQL 查询:
Select s_bs.ScheduleHeaderId,
s_bs.ScheduleBatchScheduleId,
FlowRateOperational.FlowRate,
BatchScheduleFlowRateOperational.EffectiveStartTime,
BatchScheduleFlowRateOperational.EffectiveEndTime
From BatchSchedule as bs
Inner Join ConnectionPoint as cp on bs.ConnectionPointId = cp.ConnectionPointId
Inner Join ScheduleBatch as s_b
Inner Join ScheduleConnectionPoint as s_cp
Inner Join ScheduleBatchSchedule as s_bs
on s_cp.ScheduleConnectionPointId = s_bs.ScheduleConnectionPointId
on s_b.ScheduleBatchId = s_bs.ScheduleBatchId
on cp.ConnectionPointName = s_cp.ConnectionPointName and bs.BatchID = s_b.BatchID
Inner Join BatchScheduleFlowRateOperational on bs.BatchScheduleId = BatchScheduleFlowRateOperational.BatchScheduleId
Inner Join FlowRateOperational on BatchScheduleFlowRateOperational.FlowRateOperationalId = FlowRateOperational.FlowRateOperationalId
到目前为止,我还不是 SQL 专家,但至少我认为我知道如何连接表,而且我以前从未见过这种连接表的方式。
在 JOINS 之后将多个 ON 子句放在一起会产生不同的结果或提高性能吗?
为什么这个人不能只是移动连接并将 ON 子句保留在相应的 JOIN 旁边?
感谢您对这个“谜团”的任何启发:)