What you're talking about is Short Circuit evaluation.
Unlike in CASE statements (except certain scenarios using variables and aggregate functions), where the order is important, you have little control over the order in which the
WHERE clause in SQL Server is evaluated (except with some grouping paratheses). So, even if it does short-circuit, SQL Server may choose to evaluate the second clause first, especially if that is referenced as the first column in the index it chooses to use for the query.
SQL Server will still attempt to parse the entire query to make sure it is logically correct, regardless of whether the first
AND condition fails.
For example, if I use the AdventureWorks database and look for a City that I know doesn't exist:
-- obviously don't use SELECT * in production
FROM Person.Address AS a
WHERE City = 'Bournemouth' AND 1/0 = 1
City = 'Bournemouth' will always be
FALSE, I still get the error:
Msg 8134, Level 16, State 1, Line 5
Divide by zero error encountered.