will give us comparison with date of year 1905, as a result of converting of an integer to datetime type (as number of days from the beginning of 1900 hat is a reference point of dates for settings by default in SQL Server). It is easy to be convinced of it by executing the query:
Naturally, the predicate containing a full date corresponding to the beginning of 1941 (January, 1) will be correct also:
date < '19410101'
However let's return to our solution. It is incorrect. As it has been said, the situation when the head ship with unknown launch year is present only in Ships table here is not considered. To consider this situation we should add one more query to the union.