I read that the FROM statement is executed before the WHERE statement. So what i understand is: SELECT * FROM tbl_1 JOIN tbl_2 ON <condition> WHERE tbl_1.id='value'; Would first join the 2 tables according to the ON condition and then go about retrieving rows according to the WHERE condition. So would this be faster?: SELECT * FROM (SELECT * FROM tbl_1 WHERE tbl_1.id='value')A JOIN tbl_2 ON <condition>;