SQL doesn't specify anything about how the database works; it only specifies how to talk to it. Every database will be implemented differently, and closed-source database vendors of course don't share their code or algorithms, so for many databases, the precise answer is not known nor knowable. But in general, for a WHERE clause that mentions a single column of a single table, the answer depends on whether there's an index on the column or not. If there is, then (depending on the operation used in your WHERE clause, of course) the database will probably be able to do a fast lookup like a binary search to find the matching records. If there's no index, then there isn't much it can do but a linear search through the whole table. For WHERE x.y == y.z queries (join queries) things are more complicated, of course. There are many whole books written on the topic.