LEFT JOIN table2 on some_condition
The conditions are what make a query fast or slow. So exact condition matters, tables structures and indexes matters too.
AND table1.columnname < getDate()
getDate() is a volatile function, it means that it prevent any optimization. if query is run around midnight, date can change during query.
By using a volatile function, runtime of query depend on number of records in table.
By using an intermediate variable, runtime depend on number of records that match the condition (if indexed).
Read this:
GETDATE (Transact-SQL) - SQL Server | Microsoft Docs[
^]