排序查詢:select 欄位列表 from [表名] order by [欄位名1] [asc升序/desc降序,預設值為升序],[欄位名2] [排序方式];//欄位名1為優先順序排序,如果欄位名1有相同的,再以欄位名2排序 聚合函數: count 統計數量(一般不選null的列) max 最大值 m ...
排序查詢:select 欄位列表 from [表名] order by [欄位名1] [asc升序/desc降序,預設值為升序],[欄位名2] [排序方式];//欄位名1為優先順序排序,如果欄位名1有相同的,再以欄位名2排序
聚合函數:
count | 統計數量(一般不選null的列) |
max | 最大值 |
min | 最小值 |
sum | 總和 |
avg | 平均值 |
Select 聚合函數(欄位名) from 表名;//null值不參與所有聚合函數運算 ! !
分組查詢:selcet 欄位列表 from [where 分組前條件限定] group by 分組欄位名 [having 分組後條件過濾];//分組後查詢的欄位為聚合函數和分組欄位,查詢其他欄位無意義,執行順序:where>聚合函數>having
eg:select sex,avg(score),count(*) from where score>60 student group by sex having count(*)>1;//查詢student表格中以sex(性別)為分組的score值大於60的人的平均score(成績)並且前面加上sex的數據後面加上分組後每個組的數量,如果人數小於2則過濾掉
分頁查詢:select 欄位列表 from limit 起始索引 , 查詢條目數;//起始索引=(當前頁碼-1)*每頁顯示的條數
—多表查詢—
基礎:select *from 表名1,表名2; 這種查會顯示表1和表2的集合乘,即展示的表會有表1數量乘表2數量的乘積。
隱式內連接:select 欄位列表 from 表1,表2… where 條件;
顯示內連接:select 欄位列表 from 表1 [inner] join 表2 on 條件;//這兩種差不多,只是表達不一樣。
左右連接:select 欄位列表 from 表1 left/right join 表2 on 條件;//顯示左/右邊的所有數據(因為有些條件會不顯示部分數據或有些數據為null)