1、Where、Order by、Group by 、having
Where作用物件是:基本表或視圖,從中選出符合條件的元素,
Order by 作用物件是:基本表或視圖,就是排序方式,分為升序(ASC)和降序(DESC),排序默認為升序
Group by 作用物件是:基本表或視圖,把物件進行分組(一個或多個欄位),
Having 作用物件是 組,從中選擇符合條件的組
注意事項:
- Group by 與having連用選出符合條件的分組;
- Group by 必須與聚合函式(sum,avg,min,max,cout)一起使用才有意義,使用時至少需要一個分組標志;
- Group by 與Where 一起使用時:
【3.1】一起使用時,where在前group by 在后;
【3.2】注意having和where的用法區別;
(3.2.1)having只能用在group by 之后,對分組的結果進行篩選{即使用having的前提條件是分組};
(3.2.2)where肯定再group by之前;
(3.2.3)where后的條件運算式里不允使用聚合函式,而having可以;
【3.3】當一個查詢陳述句同事出現了where,group by,having,order by的時候,執行順序和撰寫順序是:
<Where--group by---having--order by>
(1) 執行where xx對全表資料做篩選,回傳第1個結果集,
(2) 針對第1個結果集使用group by分組,回傳第2個結果集,
(3) 針對第2個結果集中的每1組資料執行select xx,有幾組就執行幾次,回傳第3個結果集
(4) 針對第3個結集執行having xx進行篩選,回傳第4個結果集,
(5) 針對第4個結果集排序,
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/28233.html
標籤:Oracle
