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 句を一緒に使用すると、異なる結果が生成されたり、パフォーマンスが向上したりしますか?
この人が結合を移動して、対応する JOIN の横に ON 句を保持できなかったのはなぜですか?
この「謎」に光を当ててくれてありがとう:)