from:全量數據,排序
where:數據過濾,生成新的虛表。我的主觀上理解,where中的條件,若是涉及到join中的表,則會移動到相應的on條件中,減小後續生成的虛表大小。select
join:根據on中的條件,生成虛表(笛卡爾積)數據
group by:數據分組,生成新的虛表移動
having:過濾group by以後的數據,生成新的虛表di
select:計算各個列的值,生成新的虛表vi
distinct:去除重複,可能爲列,可能爲行join
order by:對結果進行排序,生成新的虛表,結果表生成