Is there any reason on an INNER JOIN to have a condition on the main table vs in the WHERE clause?
Example in INNER JOIN:
SELECT 
   (various columns here from each table)
FROM dbo.MainTable AS m
INNER JOIN dbo.JohnDataRecord AS jdr
    ON m.ibID = jdr.ibID
    AND m.MainID = @MainId -- question here
    AND jdr.SentDate IS NULL
LEFT JOIN dbo.PTable AS p1
    ON jdr.RecordID = p1.RecordID
LEFT JOIN dbo.DataRecipient AS dr
    ON jdr.RecipientID = dr.RecipientID
(more left joins here)
WHERE
    dr.lastRecordID IS NOT NULL;
Query with condition in WHERE clause:
SELECT 
   (various columns here from each table)
FROM dbo.MainTable AS m
INNER JOIN dbo.JohnDataRecord AS jdr
    ON m.ibID = jdr.ibID
    AND jdr.SentDate IS NULL
LEFT JOIN dbo.PTable AS p1
    ON jdr.RecordID = p1.RecordID
LEFT JOIN dbo.DataRecipient AS dr
    ON jdr.RecipientID = dr.RecipientID
(more left joins here)
WHERE
    m.MainID = @MainId -- question here
    AND dr.lastRecordID IS NOT NULL;
Difference in other similar questions that are more general whereas this is specific to SQL Server.
