Database Fundamentals #24: More Filtering Data

In this post, we continue discussing the functionality of the WHERE clause. We started with the basics of the logic using things like AND, OR, and LIKE or '='. Now, we'll expand into some other areas.

Functions in the WHERE Clause

SQL Server provides you with all sorts of functions that can be used to manipulate strings, modify dates or times or perform arcane mathematical equations. The problem with these is that if you do them on columns in tables it can lead to performance issues. The trick then, is to not perform functions on the columns in the tables. We'll cover this in more detail when we get to indexing, variables, and parameters. Just don't get into the habit of putting functions on the columns in your tables in the WHERE clause.

Database Fundamentals #23: Filtering Data

If you've been reading these Database Fundamentals posts, you've already seen the WHERE clause because of your use of it when manipulating data with DELETE and UPDATE statements. It's also been used several times earlier in this series to limit the values returned from a SELECT statement.

The primary places where people run into trouble with T-SQL is in the JOIN criteria and the WHERE clause criteria. This occurs because they don't understand well enough what the filters and operators they're using will do. They end up returning too much data because they didn't us the WHERE clause or misapplied it. They also filter too much data out.