I have found in several resources online than when doing stuff like:
cars = Car.where(:colour => \'black\')
The query is not executed, until
The console calls inspect on the result of any expression you type so that it can display it to you. inspect is one of the things that will trigger the load of the query. If you instead do
x = User.where(:first_name => 'John'); false
then you should see no query because this time the console is calling inspect on false instead of on the Active Record relation object.