select的执行顺序
================ select 執行順序=======================
一 、select語句關鍵字的定義順序:
select distinct <select_list>
from <left_table>
<join_type> join
on <join_condition>
where <where_condition>
group by <group_by_list>
having <having_condition>
order by <order_by_condition>
limit <limit_number>
二 、 select語句關鍵字的執行順序:
(7) select
(8) distinct <select_list>
(1) from <left_table>
(3) <join_type> join <right_table>
(2) on <join_condition>
(4) where <where_condition>
(5) group by <group_by_list>
(6) having <having_condition>
(9) order by <order_by_condition>
(10) limit <limit_number>
第一步 執行 from 知道先從<left_table>這個表開始的
第二步 執行 on 過濾 根據 <join_condition> 這里的條件過濾掉不符合內容的數據
第三步 執行 join 添加外部行
-------- inner join 找兩張表共同的部分
--------- left join 以左表為準,找出左表所有的信息,包括右表沒有的
--------- right join 以右表為準,找出左表所有的信息,包括左表沒有的
--------- #注意:mysql不支持全外連接 full JOIN 可以用union
第四步 執行 where 條件 where后加需要滿足的條件,然后就會得到滿足條件的數據
第五步 執行 group by 分組 當我們得到滿足where條件后的數據時候,group by 可以對其進行分組操作
第六步 執行 having 過濾 having 和 group by 通常配合使用,可以對 滿足where條件內容進行過濾
第七步 執行 select 打印操作 當以上內容都滿足之后,才會執行得到select列表
第八步 執行 distinct 去重 得到select列表之后,如果指定有 distinct ,執行select后會執行 distinct去重操作
第九步 執行 order by 排序 以上得到select列表 也經過去重 基本上就已經得到想要的所有內容了 然后就會執行 order by 排序asc desc
第十步 執行 limit 限制打印行數,我們可以用limit 來打印出我們想要顯示多少行。
總結
以上是生活随笔為你收集整理的select的执行顺序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 风险收益导论-简单收益率与连续复利收益率
- 下一篇: 刷题回顾(持续更新)